Foros del Web » Programando para Internet » PHP »

ayuda seleccion multiple php y mysql

Estas en el tema de ayuda seleccion multiple php y mysql en el foro de PHP en Foros del Web. hola compañeros tengo problemas con la seleccion multiple en php este es el error que me sale syntax error, unexpected T_CONSTANT_ENCAPSED_STRING el codigo q utilizo ...
  #1 (permalink)  
Antiguo 01/02/2010, 15:37
 
Fecha de Ingreso: febrero-2010
Mensajes: 27
Antigüedad: 14 años, 2 meses
Puntos: 0
ayuda seleccion multiple php y mysql

hola compañeros tengo problemas con la seleccion multiple en php este es el error que me sale

syntax error, unexpected T_CONSTANT_ENCAPSED_STRING

el codigo q utilizo es el siguiente:


$result = mysql_query("SELECT folio,municipio,fecha_entrega,nombre,ap_paterno,ap _materno,asunto,acuerdo,avance FROM principal
where
municipio='".$_POST['municipio']."'"" and avance='".$_POST['avance']."'" and institucion='".$_POST['institucion']."'"",$link);

alguien me puede ayudar.
Gracias.
  #2 (permalink)  
Antiguo 01/02/2010, 15:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: ayuda seleccion multiple php y mysql

Veo problemas de comillas, mira el código bien ya que tienes unas comillas dobles repetidas dos veces. Usa la funcion mysql_error() para que te indique también que error tienes en la consulta.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 01/02/2010, 16:03
Avatar de rfadgrmm  
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Información Respuesta: ayuda seleccion multiple php y mysql

Hola rirf,

También puedes aplicar esto para que no tengas problemas con las comillas simples y dobles al construir tus consultas...

Código PHP:
$result mysql_query("SELECT folio,municipio,fecha_entrega,nombre,ap_paterno,ap _materno,asunto,acuerdo,avance FROM principal
where
municipio='{$_POST['municipio']}' and avance='{$_POST['avance']}' and institucion='{$_POST['institucion']}'"
$link); 
Espero el codigo sea de utilidad para lo que necesites,

Saludos...
  #4 (permalink)  
Antiguo 01/02/2010, 17:13
 
Fecha de Ingreso: febrero-2010
Mensajes: 27
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ayuda seleccion multiple php y mysql

muchas gracias compañeros los 2 tenian razon asi ya no me marca errores pero ahora me sale otro error:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\nice\consulta_ami.php on line 51

a mi criterio es porq tengo error en la tabla o en los campos q ago referncia, pero
ya los cheque y estan bien.
seria mucho pedir su ayuda de nuevo, esque estoy apenas empezando con php.
  #5 (permalink)  
Antiguo 01/02/2010, 17:25
Avatar de rfadgrmm  
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: ayuda seleccion multiple php y mysql

Sería bueno que copies y pegues el código PHP (ó extracto del mismo) aquí para poder revisarlo y entenderlo mejor...

Saludos...
  #6 (permalink)  
Antiguo 02/02/2010, 09:46
 
Fecha de Ingreso: febrero-2010
Mensajes: 27
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ayuda seleccion multiple php y mysql

este es el codigo completo que estoy utilizando para mi consulta en php, cabe aclara que lo que me dijeron anteriormente no me marca error pero no me hace la consulta, en cambio con esta linea de consulta si me realiza la consulta pero solo de un campo no con varias condiciones con el and.


la linea que me hace la consulta correcta de 1 solo campo es la siguiente; el problema viene cuando quiero ponerle otra condicion, espero y me puedan ayudar


$result = mysql_query("SELECT folio,municipio,fecha_entrega,nombre,ap_paterno,ap _materno,asunto,acuerdo,avance FROM principal
where
municipio='".$_POST['municipio']."'" and avance='".$_POST['avance']."'"",$link);




<html>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
left:23px;
top:20px;
width:1209px;
height:597px;
z-index:1;
background-color: #FFFFFF;
}
-->
</style>
<body>
<div id="Layer1">
<div align="center">
<p>DATOS</p>
<?php

$link = mysql_connect("localhost", "root","necaxa");

mysql_select_db("fer", $link);
$result = mysql_query("SELECT folio,municipio,fecha_entrega,nombre,ap_paterno,ap _materno,asunto,acuerdo,avance FROM principal
where
municipio='".$_POST['municipio']."'" and avance='".$_POST['avance']."'"",$link);
echo "<table border = '1'> \n";

echo "<tr> \n";

echo "<td><b>folio</b></td> \n";

echo "<td><b>Municipio</b></td> \n";

echo "<td><b>Fecha Entrega</b></td> \n";

echo "<td><b>Nombre</b></td> \n";

echo "<td><b>Apellido Paterno</b></td> \n";

echo "<td><b>Apellido Materno</b></td> \n";

echo "<td><b>Asunto</b></td> \n";

echo "<td><b>Acuerdo</b></td> \n";

echo "<td><b>Avance</b></td> \n";

echo "</tr> \n";

while ($row = mysql_fetch_row($result)){

echo "<tr> \n";

echo "<td>$row[0]</td> \n";

echo "<td>$row[1]</td> \n";

echo "<td>$row[2]</td> \n";

echo "<td>$row[3]</td> \n";

echo "<td>$row[4]</td> \n";

echo "<td>$row[5]</td> \n";

echo "<td>$row[6]</td> \n";

echo "<td>$row[7]</td> \n";

echo "<td>$row[8]</td> \n";

echo "<td>$row[9]</td> \n";

echo "</tr> \n";

}

echo "</table> \n";
?>
<p>&nbsp; </p>
<a href=index.php>Menú Principal... </a>
</div>
</div>
</body>
</html>
  #7 (permalink)  
Antiguo 02/02/2010, 10:14
Avatar de rfadgrmm  
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Información Respuesta: ayuda seleccion multiple php y mysql

Bueno, revisando la sentencia SQL estoy notando que no solo es por la sintaxis de la condición múltiple, tambien hay un espacio en blanco para el campo "ap _materno", quizá eso es lo que no te permite ejecutarlo, revisa las comillas simples y dobles. (Justo para librarte de esas confusiones reedité tu sentencia SQL)

Antes...

Código PHP:
$result mysql_query("SELECT folio,municipio,fecha_entrega,nombre,ap_paterno,ap _materno,asunto,acuerdo,avance FROM principal
where
municipio='"
.$_POST['municipio']."'"" and avance='".$_POST['avance']."'" and institucion='".$_POST['institucion']."'"",$link); 
Ahora quedaría así...

Código PHP:
$result mysql_query("SELECT folio, municipio, fecha_entrega, nombre, ap_paterno, ap_materno, asunto, acuerdo, avance FROM principal
WHERE
municipio='{$_POST['municipio']}' AND avance='{$_POST['avance']}' AND institucion='{$_POST['institucion']}'"
$link); 
Como nota final: Si usas el mysql_fetch_array (toma el nombre del campo o su alias como elemento asociado en una matriz, ej. $row['folio'], $row['municipio']) te puede ayudar bastante, ya que mysql_fetch_row le asigna indices (números correlativos para cada campo en una matriz), y a veces no recordamos o nos hacemos un mundo al no saber a que campo le pertenece el indice, sobre todo si son demasiados campos a mostrar y/o procesar.

Saludos...
  #8 (permalink)  
Antiguo 02/02/2010, 11:41
 
Fecha de Ingreso: febrero-2010
Mensajes: 27
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ayuda seleccion multiple php y mysql

gracias por el detalle del espacio en blanco y ya probe el codigo corregido ahora no me marca ningun error pero no me hace la consulta solo me muestra las cabeceras de la tabla sin ningun dato, desconozco porq haga esto, seguire viendo que esta mal
  #9 (permalink)  
Antiguo 02/02/2010, 13:11
 
Fecha de Ingreso: febrero-2010
Mensajes: 27
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ayuda seleccion multiple php y mysql

disculpen que vuelva a insistir con mi codigo pero es el que me esta dando resultados, si alguien me puede ayudar con este mismo codigo se lo agradeseria, se que es cuestion de comillas simples y dobles.

este es mi codigo de nuevo


mysql_select_db("fer", $link);
$result = mysql_query("SELECT folio,municipio,fecha_entrega,nombre,ap_paterno,ap _materno,asunto,acuerdo,avance FROM principal
where
avance='".$_POST['avance']."'" and municipio='".$_POST['municipio']."'",$link);
  #10 (permalink)  
Antiguo 02/02/2010, 14:24
Avatar de rfadgrmm  
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Información Respuesta: ayuda seleccion multiple php y mysql

Bueno, como aún no tiene solución tu problema, entonces, pega todo el código fuente del formulario donde envías lo que deseas consultar, segundo el código fuente generando los resultados (código PHP y demás) y toda referencia de estos archivos.

A pesar que menciones que tu sentencia SQL funciona, me parece extraño que funcione con esos errores de sintaxis, asi que revisaremos que puede estar faltando o quedando mal.

Saludos...
__________________
"Viajando en el espacio profundo, de nova en nova, y sorteando a veces uno que otro agujero negro..." Peru@D
  #11 (permalink)  
Antiguo 02/02/2010, 14:51
 
Fecha de Ingreso: febrero-2010
Mensajes: 27
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ayuda seleccion multiple php y mysql

Gracias por los comentarios a mis dudas y este es el codigo de mi formulario:


<div id="ami">
<form method="post" action="consulta_ami.php" name="cons">
<p>municipio :
<select name="municipio">
<option selected>atlatlahucan</option>
<option>axochiapan</option>
<option>ayala</option>
<option>coatlan del rio</option>
<option>cuautla</option>
<option>cuernavaca</option>
<option>emiliano zapata</option>
<option>huitzilac</option>
<option>jantetelco</option>
<option>jiutepec</option>
<option>jojutla</option>
<option>jonacatepec</option>
<option>mazatepec</option>
<option>miacatlan</option>
<option>ocuituco</option>
<option>puente de ixtla</option>
<option>temixco</option>
<option>tepalcingo</option>
<option>tepoztlán</option>
<option>tetecala</option>
<option>tetela del volcan</option>
<option>tlalnepantla</option>
<option>tlaltizapán</option>
<option>tlaquiltenango</option>
<option>tlayacapan</option>
<option>totolapan</option>
<option>xochitepec</option>
<option>yautepec</option>
<option>yecapixtla</option>
<option>zacatepec</option>
<option>zacualpan</option>
<option>temoac</option>
</select>
<p>avance :
<select name="avance">
<option selected>25%</option>
<option>50%</option>
<option>75%</option>
<option>100%</option>
</select>
<p>institucion :
<input name="institucion" type="text">
<p>
<input type="Submit" name="enviar" value="Aceptar">
</form>
</div>


y este es el codigo de mi consulta:


<html>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
left:23px;
top:20px;
width:1209px;
height:597px;
z-index:1;
background-color: #FFFFFF;
}
-->
</style>
<body>
<div id="Layer1">
<div align="center">
<p>DATOS</p>
<?php

$link = mysql_connect("localhost", "root","necaxa");

mysql_select_db("fer", $link);
$result = mysql_query("SELECT folio,municipio,fecha_entrega,nombre,ap_paterno,ap _materno,asunto,acuerdo,avance FROM principal
where
municipio='".$_POST['municipio']."'" and avance='".$_POST['avance']."'" and institucion='".$_POST['institucion']."'",$link);

echo "<table border = '1'> \n";

echo "<tr> \n";

echo "<td><b>folio</b></td> \n";

echo "<td><b>Municipio</b></td> \n";

echo "<td><b>Fecha Entrega</b></td> \n";

echo "<td><b>Nombre</b></td> \n";

echo "<td><b>Apellido Paterno</b></td> \n";

echo "<td><b>Apellido Materno</b></td> \n";

echo "<td><b>Asunto</b></td> \n";

echo "<td><b>Acuerdo</b></td> \n";

echo "<td><b>Avance</b></td> \n";

echo "</tr> \n";

while ($row = mysql_fetch_row($result)){

echo "<tr> \n";

echo "<td>$row[0]</td> \n";

echo "<td>$row[1]</td> \n";

echo "<td>$row[2]</td> \n";

echo "<td>$row[3]</td> \n";

echo "<td>$row[4]</td> \n";

echo "<td>$row[5]</td> \n";

echo "<td>$row[6]</td> \n";

echo "<td>$row[7]</td> \n";

echo "<td>$row[8]</td> \n";

echo "<td>$row[9]</td> \n";

echo "</tr> \n";

}

echo "</table> \n";
?>
<p>&nbsp; </p>
<a href=index.php>Menú Principal... </a>
</div>
</div>
</body>
</html>


con ese codigo el error que me manda es este;


Parse error: syntax error, unexpected '=' in C:\AppServ\www\nice\consulta_ami.php on line 26



espero y me puedan ayudar ya que estoy un poco deseperado porq no me sale
gracias de antemano
  #12 (permalink)  
Antiguo 02/02/2010, 15:04
Avatar de rfadgrmm  
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Información Respuesta: ayuda seleccion multiple php y mysql

Faltó la estructura de tu base de datos y tablas. Aquí te dejo otra sentencia SQL editada...

Código PHP:
Ver original
  1. $result = mysql_query("SELECT folio, municipio, fecha_entrega, nombre, ap_paterno, ap_materno, asunto, acuerdo, avance FROM principal WHERE municipio='".$_POST['municipio']."' AND avance='".$_POST['avance']."' AND institucion='".$_POST['institucion']."'", $link);

Y te sugiero que uses mysql_fetch_array, en reemplazo del mysql_fetch_row para que tomes los nombres de los campos como un indice asociado de una matriz. A la variable del tipo arreglo $row enciérralo entre llaves al imprimir la variable si es que va a estar dentro de una cadena de texto. (Ej. {$row[0]}, {$row[1]}, etc)

Saludos...
__________________
"Viajando en el espacio profundo, de nova en nova, y sorteando a veces uno que otro agujero negro..." Peru@D
  #13 (permalink)  
Antiguo 03/02/2010, 10:10
 
Fecha de Ingreso: febrero-2010
Mensajes: 27
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ayuda seleccion multiple php y mysql

compañero rfadgrmm MUCHAS GRACIAS con las ultimas observasiones que me hizo quedo resulta mi duda asi como mi proyecto y va viento en popa.


gracias...

Etiquetas: mysql, seleccion
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 10:25.