Comunidad de diseño web y desarrollo en internet online

MySQL con la clase $wpdb, utilizado en WordPress

Citar            
MensajeEscrito el 27 Ago 2010 04:17 pm
Mucho gusto,

Mi nombre es Ricardo. Me gustaría consultar como podría leer información de una columna, que utiliza 5 filas para construir un registro. Es decir, la tabla almacena la información del formulario enviado, en 5 filas. Tal cual aparece en esta imagen a continuación:

id fk_form_joiner_id form_key value
1104 86 page_post_id 555
1105 86 page_post_title Contacto
1106 86 your-name Juan Perez
1107 86 your-email [email protected]
1108 86 your-subject informacion
1109 86 your-message necesito informacion de su producto
1110 86 user_ID 1
1111 87 page_post_id 555
1112 87 page_post_title Contacto
1113 87 your-name Julio Pardo
1114 87 your-email [email protected]
1115 87 your-subject pregunta
1116 87 your-message Tienen impresoras a la venta
1117 87 user_ID 1

Como pueden ver el campo value es el que necesito, pero de ese campo, necesito rescatar 4 filas, las que tienen your-name, your-email, your-subject, your-message, pero lo que corresponde a value. ¿Como podría hacer eso con MySql ?.

Muchas Gracias,
Ricardo

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 27 Ago 2010 09:06 pm
Me parece que sería así:

Código MySQL :

SELECT `value`, `form_key` FROM `tabla` WHERE `form_key` IN ('your-name','your-email','your-subject','your-message')

Coméntanos si funcionó.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 28 Ago 2010 12:52 am
Primero que nada,

Muchas gracias por tu pronta respuesta. Mira, al parecer no funciona como yo quiero. Talvéz soy yo el que no me expliqué bien. Lo que sucede es que el formulario coloca la información en la tabla en columna, lo que dificulta que lo pueda rescatar como registro completo. Si te das cuenta los registros vienen repartidos en 4 columnas distintas. Lo que yo quiero es que un registro quede:
Nombre email Tema mensaje
Juan Perez [email protected] informacion necesito informacion de su producto

El SQL que me enviaste hace lo siguiente:

value form_key
Editar Borrar Juan Perez your-name
Editar Borrar [email protected] your-email
Editar Borrar informacion your-subject
Editar Borrar necesito informacion de su producto your-message
Editar Borrar Julio Pardo your-name
Editar Borrar [email protected] your-email
Editar Borrar pregunta your-subject
Editar Borrar Tienen impresoras a la venta your-message

Como vez, de igual forma lo deja en una columna, separados los registros completos. Agradecería si puedes responder a mi interrogante.

Muchas Gracias,

Ricardo

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 28 Ago 2010 03:56 am

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 29 Ago 2010 02:58 pm

Inyaka escribió:

aca tengo un tutorial sobre creacion de plugins con wordpress ahi uso la global $wpdb http://www.cristalab.com/tips/como-crear-un-plugin-para-wordpress-c54308l/
Tu respuesta está excelente, muy agradecido. Creo que por ahi va la solución. En tu ejemplo, capturas la información desde un formulario. El formulario que creaste es un poco corto, ya que solo incluye el saludo. Por lo que me queda la duda para algo que tuviera por ejemplo:

Nombre:
Apellido:
Dirección
Teléfono:
Email:
Comentarios:

Te pregunto, porque a pesar de ver tu ejemplo me saltó la duda sobre el camplo action, que lo dejaste vacío. action=" ". Me podrías dar una ayudita con eso. Si gustas podemos intercambiar SKYPE y conversamos para sea más expedito.

Nuevamente, muchísimas gracias,
Ricardo

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 30 Ago 2010 02:57 pm
Tengo el código que utilizo cuando realizo una actualización sin utilizar $wpdb y funciona. Lo que necesito, es que alguno de los expertos de éste foro, me diga como hacer lo mismo utilizando el MySQL de wpdb.

<?php
global $wpdb;
require_once(ABSPATH . 'wp-admin/includes/registro.php');
"); ?>
<?php
if (!function_exists('GetSQLValueString')) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = '', $theNotDefinedValue = '')
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists('mysql_real_escape_string') ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case 'text':
$theValue = ($theValue != '') ? ''' . $theValue . ''' : 'NULL';
break;
case 'long':
case 'int':
$theValue = ($theValue != '') ? intval($theValue) : 'NULL';
break;
case 'double':
$theValue = ($theValue != '') ? doubleval($theValue) : 'NULL';
break;
case 'date':
$theValue = ($theValue != '') ? ''' . $theValue . ''' : 'NULL';
break;
case 'defined':
$theValue = ($theValue != '') ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

$editFormAction = $_SERVER["PHP_SELF"];
if (isset($_SERVER["QUERY_STRING"])) {
$editFormAction .= "?" . htmlentities($_SERVER["QUERY_STRING"]);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "registro")) {
$insertSQL = sprintf("INSERT INTO clientes (nombre, email, telefono, pais, direccion, usuario, clave) VALUES (%s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['nombre'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['telefono'], "int"),
GetSQLValueString($_POST['pais'], "text"),
GetSQLValueString($_POST['direccion'], "text"),
GetSQLValueString($_POST['usuario'], "text"),
GetSQLValueString($_POST['clave'], "text"));

mysql_select_db($database_rayitaBD, $rayitaBD);
$Result1 = mysql_query($insertSQL, $rayitaBD) or die(mysql_error());

$insertGoTo = "file:///C|/AppServ/www/clases_php/capitulos/final/index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<link href="file:///C|/AppServ/www/clases_php/capitulos/final/rayitas.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="contenido">
<h2>registro de usuario</h2>
<form action="<?php echo $editFormAction; ?>" method="POST" name="registro" id="registro">
<label for="nombre">nombre:</label>
<input type="text" name="nombre" id="nombre" />
<br />
<label for="email">email:</label>
<input type="text" name="email" id="email" />
<br />
<label for="telefono">teléfono:</label>
<input type="text" name="telefono" id="telefono" />
<br />
<label for="pais">país:</label>
<select name="pais" id="pais">
<option value="cl" selected="selected">Chile</option>
<option value="bo">Bolivia</option>
<option value="ar">Argentina</option>
<option value="pr">Peru</option>
<option value="br">Brasil</option>
</select>
<br />
<label for="direccion"> dirección: </label>
<textarea name="direccion" rows="5" id="direccion">
</textarea>
<br />
<label for="usuario"> usuario: </label>
<input type="text" name="usuario" id="usuario" />
<br />
<label for="clave"> clave: </label>
<input type="text" name="clave" id="clave" />
<br />
<input type="submit" name="registrar" id="registrar" value="registrar" class="boton" />
<input type="hidden" name="MM_insert" value="registro" />
</form>
</div>
</body>
</html>

La verdad, creo que me falta poco para lograr actualizar desde Word Press, pero no estoy familiarizado con algunos de los comandos utilizados.

Por favor una ayuda,

Gracias,

Ricardo

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 30 Ago 2010 03:31 pm
:P ahora estoy medio ocupado a la tarde noche veo el asunto

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.