Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Riki_89D en 22 Diciembre 2010, 23:54 pm



Título: Problema ID base de datos
Publicado por: Riki_89D en 22 Diciembre 2010, 23:54 pm
Hola cracks como andan?¿

veran me surgio un grabe problema en mi base de datos que no se resolver y por eos acudo a bosotros que confio en que me ayudareis :)

El caso es que estoi desarrollando una web de coches,dicha web incorpora unas imagenes de coches,estas imagenes tienen unos hipervinculos,el tema es que yo cuando aprieto uno de estos enlaces deberia mostrarme la finormacion del coche al que he clickkado,es deicrsi clicko al mercedes deberia mostrarme el ID de la base de datos correspondiente a ese coche,el ide es de tipo auto_increment para que cada coche tenga 1,2,3, i aisn sucesivamente,pero cuando clicko en el cocxe desgraciadamente me muestra la info de TODOS los coxes nose por que :S

Este es el codigo que tengo asta ahora:
Código
  1. while( $row = mysql_fetch_row( $squery ) ){
  2. echo "<table border='0'>";
  3. echo "<tr><td><a href=cotxe.php?id=".$row[0].">$row[1]</a></td></tr>";}
  4. ?>
  5. </table>
  6.  
  7.  
Código
  1. mysql_select_db($database,$db);
  2. $query= "SELECT* FROM vehiculos WHERE id=$id";
  3. $squery= mysql_query($query);
  4. if (!$squery) { die('no rula query: '.mysql_error());}
  5. while( $row = mysql_fetch_row( $squery ) ){
  6.  
  7.  


esto son los codes respectivamente,pues nada cuanod pulso al link d eun cohce (coche que en la base de datos tiene un ID asigando mediante auto_increment en vez de mostrarme solo la info de ese coche me muestra la de todos :S


alguna sugerencia?¿


saludos



Título: Re: Problema ID base de datos
Publicado por: 4rkn63l en 26 Diciembre 2010, 18:36 pm
Citar
if (!$squery) { die('no rula query: '.mysql_error());}
 while( $row = mysql_fetch_row( $squery ) ){

¿Por que hacer un ciclo si la consulta devolvera un unico registro?

simplemente deberias mostrar el contenido del array devuelto, en este caso como utilizas mysql_fetch_row() debes utilizar el indice numerico correspondiente al campo que deseas mostrar. por ejemplo digamos que la marca y el modelo tienen los indices 1 y 2 respectivamente, entonces:

Código:
if (!$squery) { die('no rula query: '.mysql_error());}
$row = mysql_fetch_row( $squery );
echo $row[1];
echo $row[2];

pdta: seria bueno que plantees tus dudas en un solo post, al menos con distinto asunto.


Título: Re: Problema ID base de datos
Publicado por: cassiani en 27 Diciembre 2010, 23:56 pm
Riki_89D postea el código completo, yo no veo ningún error en la consulta, si el valor del id estuviera vacío te mostraría nada, me parece que hay algo más que no has posteado y es lo que afecta el resultado.

toma en cuenta lo que dice 4rkn63l  sobre el bucle y no imprimas la apertura de la etiqueta <table> dentro del otro ciclo que eso se debe imprimir una sola vez y es antes en este caso

Código:
while( $row = mysql_fetch_row( $squery ) ){
echo "<table border='0'>";
echo "<tr><td><a href=cotxe.php?id=".$row[0].">$row[1]</a></td></tr>";}
mysql_close($db);
?>
</table>

Coloca el código del archivo cotxe.php si no es muy largo y un ejemplo de como quedan los enlace luego de imprimirlos.