Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Aprendiendo consultas Mysql-¿?

Estas en el tema de Aprendiendo consultas Mysql-¿? en el foro de PHP en Foros del Web. Hola. Llevo varios días intentando configurar unas cosillas. Intento crear un sistema de menus-formularios, de forma que al ir pulsando en cada botón, se cree ...
  #1 (permalink)  
Antiguo 20/11/2015, 09:40
Avatar de tiobavie  
Fecha de Ingreso: noviembre-2015
Ubicación: Santander
Mensajes: 13
Antigüedad: 9 años
Puntos: 0
Aprendiendo consultas Mysql-¿?

Hola. Llevo varios días intentando configurar unas cosillas.
Intento crear un sistema de menus-formularios, de forma que al ir pulsando en cada botón, se cree el siguiente menú.

Os enseño la parte del código. Este es el primer formulario, parte del menu de navegación.

<ul><form action="includes/pintura.php" name="menuprincipal" method="post">
<li><input type="submit" id="Pintura" name="medio" class="" onChange="this.form.submit()" value="Pintura"/></li>
<li><input type="submit" id="Iluistracion" name="medio" class="" onChange="this.form.submit()" value="Ilustracion"></form></li>

Y a continuación, el archivo de la acción:

<?php
if (isset($_POST['medio'])) {
include ("../Connections/miriamweb.php");
$medio = $_POST['medio'];
$paso1=mysql_query("SELECT DISTINCT `Serie` FROM `obras` WHERE `Medio`LIKE '.$medio.'",$miriamweb);
if ($row = mysql_fetch_array($paso1)){
echo "<div id='Mpintura'><form method='post' action='paso2' name='menuserie'> ";
echo "<tr><td>Series:</td></tr> \n";
do {
echo "<input type='radio' name='serie[]' onchange='this.form.submit()' value='".$row["Serie"]."'/>";
} while ($row = mysql_fetch_array($paso1));
echo "</form>";
} else {
echo "¡ No se ha encontrado ningún registro !";
}
}
?></div>

El primer problema que tengo (hay más, pero primero este...) es que me dice que no hay ningun registro, que si que hay.... Si le quito el if (isset) inicial, Me sale un aviso de error de Mysql, diciendo que la variable $medio no está definida.... ¿la estoy definiendo mal con $medio = $_POST['medio'] ? Y que fallo tiene la consulta, si en la base de datos si que hay esos registros?

(AVISO: Aprendo a base de ENSAYO-ERROR, Pero ya llevo varios dias con esto, y de tanto buscar por el bosque, ya no veo los arboles...:( )

Cualquier comentario será de ayuda, gracias

Edito: Perdon por el titulo, no se corresponde con el contenido...

Última edición por tiobavie; 20/11/2015 a las 09:43 Razón: Disculpas finales por titulo incorrecto
  #2 (permalink)  
Antiguo 20/11/2015, 11:55
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Aprendiendo consultas Mysql-¿?

Saludo.
En primera, dejar el if con el isset.
En segunda, hacer una variable $query donde quede la consulta,
y a esta hacerle un echo para que se pueda copiar el query
y ejecutarlo en mysqlworkbrench, consola o phpmyadmin
para ver cual es el resultado que arroja la bd directamente.
Y en tercera, revisar el uso del operador LIKE, tal vez sea que no se esté usando los comodines %% por ej.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 21/11/2015, 02:37
Avatar de tiobavie  
Fecha de Ingreso: noviembre-2015
Ubicación: Santander
Mensajes: 13
Antigüedad: 9 años
Puntos: 0
Respuesta: Aprendiendo consultas Mysql-¿?

¡¡¡Gracias !!!
Ya está corregido. Como dijiste, al hecer una variable para la consulta, todo fué mas facil.

el codigo terminó (de momento) así:

Código HTML:
Ver original
  1. <?php
  2. $serie = $_POST['medio'];
  3. //echo '<p>Has elegido  '.$_POST['medio'].'</p>';
  4. if (isset($serie))
  5. {
  6.     include ("../Connections/miriamweb.php");
  7.     $consulta = "SELECT DISTINCT `Serie` FROM `obras` WHERE `Medio` LIKE '$serie'";
  8.     $query = mysql_query($consulta, $miriamweb) or die (mysql_error());
  9.     //$series_encontradas = mysql_num_rows($query);
  10.     //echo "He creado ".$series_encontradas." series distintas en ".$serie.".<br>";
  11.     if ($listadeseries = mysql_fetch_array($query)){
  12.         echo "<div id='Mpintura'><form method='post' action='' name='menuserie'>";
  13.         echo "Series:\n";
  14.     do {echo "<input type='submit' name='serie[]' onchange='this.form.submit()' value='".$listadeseries["Serie"]."'/>";}
  15.     while ($listadeseries = mysql_fetch_array($query));}
  16.     else {echo "¡ No se ha encontrado ningún registro !";}
  17. }
  18. ?>
Nota: Las líneas que tienen los comentarios las he usado para ir comprobando que iba fallando y que no. Las dejo así, que no molestan y quién sabe si me vuelven ha hacer falta....
¡¡¡Muchas gracias!!!

Etiquetas: formulario, mysql, registro, select, sql, valor, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:38.