Foros del Web » Programando para Internet » PHP »

PHP variable para consultar en la BD

Estas en el tema de PHP variable para consultar en la BD en el foro de PHP en Foros del Web. Buenas foreros, quisiera saber si alguien me puede ayudar con una consulta que pienso hacer en la bd, el problema es que no se como ...
  #1 (permalink)  
Antiguo 06/12/2011, 09:46
Avatar de JoSe__MiGuEl__  
Fecha de Ingreso: octubre-2011
Ubicación: Colombia
Mensajes: 51
Antigüedad: 12 años, 6 meses
Puntos: 0
PHP variable para consultar en la BD

Buenas foreros, quisiera saber si alguien me puede ayudar con una consulta que pienso hacer en la bd, el problema es que no se como podría colocar el POST de unos selects que serian el nombre de la tabla... Este es el código del primer select:

Código HTML:
<select name="sector" id="sector">
              <option selected="selected"> </option>
              <option value="calle_nueva">Calle Nueva</option>
              <option value="casa_cultura">Casa de la Cultura</option>
              <option value="guayabal">Guayabal</option>
              <option value="jose_santos">José Santos Soto</option>
              <option value="cancha">La Cancha</option>
              <option value="gallera">La Gallera</option>
              <option value="virgen">La Virgen</option>
              <option value="pozos">Los Pozos</option>
              <option value="parque_centro">Parque Centro</option>
              <option value="quebradalarga">Quebradalarga</option>
              <option value="antonio">San Antonio</option>
              <option value="martin">San Martín</option>
              <option value="pablo">San Pablo</option>
              <option value="vicente">San Vicente</option>
            </select> 
Y este es el otro:

Código HTML:
<select name="vereda" id="vereda">
              <option selected="selected"></option>
              <option value="canaan">Canaán</option>
              <option value="cascabel">Cascabel</option>
              <option value="chaguani">Chaguaní</option>
              <option value="cedron">El Cedrón</option>
              <option value="plan">El Plan</option>
              <option value="arboleda">La Arboleda</option>
              <option value="dolores">La Dolores</option>
              <option value="germania">La Germania</option>
              <option value="herradura">La Herradura</option>
              <option value="linda">La Linda</option>
              <option value="morron">Morrón</option>
              <option value="mulatico">Mulatico</option>
              <option value="mulato">Mulato</option>
              <option value="ptbonito">Patio Bonito</option>
              <option value="snfransisco">San Francisco</option>
              <option value="tacamocho">Tacamocho</option>
            </select> 
Y para la consulta estoy poniéndolo de esta forma:

Código PHP:
$tabla $_POST['vereda'] or $_POST['sector'];
    
$res mysql_query("SELECT $_POST[item] as item, count($_POST[item]) as total FROM $tabla GROUP BY $_POST[item]"$conexion);
$num_candidates mysql_num_rows($res); 
Pero me da error a la hora de ejecutarlo.
Alguno me podría decir como puedo colocar la consulta?
__________________
\m/_ JoSe _\m/
  #2 (permalink)  
Antiguo 06/12/2011, 09:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PHP variable para consultar en la BD

Sería inteligente de tu parte decirnos el mensaje de error que recibes ¿no te parece?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/12/2011, 10:03
Avatar de JoSe__MiGuEl__  
Fecha de Ingreso: octubre-2011
Ubicación: Colombia
Mensajes: 51
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: PHP variable para consultar en la BD

pateketrueke lo me que me aparece cuando ejecuto es esto:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\BienesTS\barr.php on line 8

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\BienesTS\barr.php on line 13
Error: No dataset defined.

Esta es la linea 8: $num_candidates = mysql_num_rows($res);
Y esta la 13: while($row=mysql_fetch_array($res)){
__________________
\m/_ JoSe _\m/
  #4 (permalink)  
Antiguo 06/12/2011, 10:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PHP variable para consultar en la BD

Esos errores se producen en esencia porque la consulta tiene un error, deberías depurar algo así:
Código PHP:
mysql_query($consulta) or die(mysql_error()); 
Así sabrás la razón exacta por lo cual la consulta se ejecuta mal.

Sin embargo y a simple vista esto está mal escrito:
Código PHP:
$tabla $_POST['vereda'] or $_POST['sector']; 
Ahí el resultado será siempre un booleano, y no alguno de los dos valores.

PHP no es como Javascript u otros lenguajes que permiten dicha flexibilidad, quizá de ahí derive que tu consulta se genere mal.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 06/12/2011, 10:35
Avatar de ocesitaro  
Fecha de Ingreso: diciembre-2011
Ubicación: Carabayllo
Mensajes: 274
Antigüedad: 12 años, 5 meses
Puntos: 36
Respuesta: PHP variable para consultar en la BD

<?
if($_POST){
if(!empty($_POST['vereda'])){
$tabla=$_POST['vereda'];
}else{
if(!empty($_POST['sector'])){
$tabla=$_POST['sector'];
}
}else{
echo "<script>alert('selecciona algo');</script>";
}
}

$res = mysql_query("SELECT $_POST[item] as item, count($_POST[item]) as total FROM $tabla GROUP BY $_POST[item]", $conexion);
$num_candidates = mysql_num_rows($res);
?>
  #6 (permalink)  
Antiguo 06/12/2011, 10:49
Avatar de JoSe__MiGuEl__  
Fecha de Ingreso: octubre-2011
Ubicación: Colombia
Mensajes: 51
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: PHP variable para consultar en la BD

pateketrueke, ocesitaro muchísimas gracias con el if me dio perfectamente.
__________________
\m/_ JoSe _\m/

Etiquetas: php+mysql, select
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 15:45.