Foros del Web » Programando para Internet » PHP »

problema con $row y mysql_fetch_array

Estas en el tema de problema con $row y mysql_fetch_array en el foro de PHP en Foros del Web. Les comento, sé que este buscador andaria para lo que estoy haciendo, pero lo que yo quiero es que en vez de poner : @import ...
  #1 (permalink)  
Antiguo 14/04/2010, 11:45
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
problema con $row y mysql_fetch_array

Les comento, sé que este buscador andaria para lo que estoy haciendo, pero lo que yo quiero es que en vez de poner :

Código PHP:
Ver original
  1. while($row = mysql_fetch_array($query)) {
  2.  
  3.     printf( lo que va aqui dentro algo asi $row["nombre"])

pueda ponerlo en la tabla <?php echo $row["nombre"];?>, pregunto esto porque se me hace complicado tenerlo de esa forma, ademas con el echo, lo podria poner donde yo quiero que se muestre en el diseño.
Hay alguna forma de cambiarlo?


Les dejo el codigo completo por las dudas, del show_results.php:

Código PHP:
Ver original
  1. <?php
  2.  
  3. error_reporting(E_ALL ^ E_NOTICE);
  4. session_name('pLogin');
  5.  
  6.  
  7.  include("connect.php");
  8.  
  9.    
  10. $sexo = (!empty($_POST["sexo"])
  11.     ? " sexo='".trim($_POST["sexo"])."'"
  12.         : "");
  13.  
  14. $interestin = (!empty($_POST["interestin"])
  15.         ? (!empty($sexo)
  16.                 ? " AND interestin='".trim($_POST["interestin"])."'"
  17.                 : " interestin='".trim($_POST["interestin"])."'")
  18.         : "");
  19.  
  20. $pais = (!empty($_POST["pais"])
  21.         ? (!empty($sexo) || !empty($interestin)
  22.                 ? " AND pais='".trim($_POST["pais"])."'"
  23.                 : " pais='".trim($_POST["pais"])."'")
  24.         : "");
  25.  
  26. $estadocivil= (!empty($_POST["estadocivil"])
  27.         ? (!empty($sexo) || !empty($interestin) || !empty($pais)
  28.                 ? " AND estadocivil='".trim($_POST["estadocivil"])."'"
  29.                 : " estadocivil='".trim($_POST["estadocivil"])."'")
  30.         : "");
  31.  
  32.  
  33.  
  34. $where = (!empty($sexo) || !empty($interestin) || !empty($pais) || !empty($estadocivil)  
  35.         ? " WHERE "
  36.         : "");
  37.  
  38.  
  39. $s = "SELECT * FROM prueba "
  40.         . $where
  41.         . $sexo
  42.         . $interestin
  43.         . $pais
  44.         . $estadocivil;
  45.  
  46. $query = mysql_query($s) or die(mysql_error());
  47.  
  48.  
  49.  while($row = mysql_fetch_array($query)) {
  50.  
  51.  
  52.    mysql_free_result($query);
  53.    mysql_close($link);  
  54.  
  55.  
  56.     }  
  57.  
  58.  
  59.  
  60.    
  61. ?>

Al ejecutarlo me tira "Warning: mysql_fetch_array(): 4 is not a valid MySQL result resource in......"
  #2 (permalink)  
Antiguo 14/04/2010, 12:05
Avatar de juamd  
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: problema con $row y mysql_fetch_array

Que tal !!!

La pregunta es sobre php pero el error es sobre mysql, imprime la consulta y ejecutala sobre la bd asi puedes comparar lo que estas enviando con lo que deberias enviar.

Saludos.
  #3 (permalink)  
Antiguo 14/04/2010, 12:15
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: problema con $row y mysql_fetch_array

Hola que tal, gracias por responder, ahora mi pregunta es existe una alternativa, para no usar el printf y poder usar el echo?

o sea dejar el while, pero mas abajo poder utilizar en el form <?php echo $row["nombre"];?>

Existe una alternativa, se puede cambiar algo del codigo?
  #4 (permalink)  
Antiguo 14/04/2010, 12:48
Avatar de juamd  
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: problema con $row y mysql_fetch_array

Puedes imprimir los resultados dentro de una tabla:

Código PHP:

<table align=center border=2>
    <td>C&eacute;dula</td><td>Nombre</td>
    <?php 
        
while ($row $result->fetch_row()){
             
$ced=$row[0];
             
$nom=$row[1];
             echo 
"<tr>";
             
?>
                 <td><?php echo"$ced"?></td> 
                 <td><?php echo"$nom"?></td>
         }
     echo '</tr>;
echo </table>
?>
Saludos.
  #5 (permalink)  
Antiguo 14/04/2010, 13:08
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: problema con $row y mysql_fetch_array

No entiendo porque lo quieres hacer asi...
El while existe porque si existen varios rows los muestre todos.. Si es un buscador seguramente saldran varios resultado y si no usas el while como obtendras los otros?

Puedes crear una tabla como dijo @juamd.
Código PHP:
$query mysql_query($s CONECCION $link ? ) or die(mysql_error());

do { 
    
echo 
$relacion_asociativa['ID']."puedes maquetar: <b></b> etc ";
echo 
$relacion_asociativa['NAME'];
echo 
$relacion_asociativa['EMAIL'];

} while ( 
$relacion_asociativa mysql_fetch_assoc $query ) ); 


//al puro final
mysql_free_result($query);
mysql_close($link); 
PD: investiga sobre sqlinjection en el foro..
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.
  #6 (permalink)  
Antiguo 14/04/2010, 13:37
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: problema con $row y mysql_fetch_array

A ver el codigo php quedaria eso que postee, pero en la tabla, me gustaria poner algo asi

Código PHP:
Ver original
  1. <td class="main_text_normal" style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">Nombre(<?php echo $row["nombre"];?>) Ocupacion(<?php echo $row["ocupacion"];?>) Estado Civil(<?php echo $row["estadocivil"];?>)</td>

Pero no se obtiene nada, no quiero usar el printf, a eso voy.

Bueno despues averiguo sobre sqlinjection, gracias, por el dato.

Etiquetas: row
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 09:45.