Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/08/2006, 18:23
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y para que usas el "foreach()" si ya con el while() tienes tu $nombre?


Código PHP:

// etc tu codigo ...

// selecciono sòlo los campos que voy a necesitar (no todos!)
// y el criterio (WHERE .. )
$query "SELECT id,nombre,apellido FROM datos WHERE apellido LIKE '%{$_POST['apellido']}%'";

// Se ejecuta la consulta SQL (aplico mysql_error() por si hay errores en mi SQL .. sino, no los verè)
$result mysql_query($query) or die (mysql_error());

// se comprueba si tu consulta SQL ejecutada devuelve resultados.
if (mysql_num_rows($result) > 0){
   
// se recorre el resultado hasta que no existan más resultados que recorrer (he de ahì que se use un "while()".
  // las funciones _fethc_ de PHP lo que hacen es cada vez que se le llama.. te entregan un resultado (del record-set) y mueven el puntero hacia adelante una posición .. por eso tambien se usa como ves bajo un while()
  
while($row mysql_fetch_array($result)){
     echo 
"<a href=\"detail.php?id=".$id."\">".$nombre." ".$apellido."</a></br>";
  }
} else {
   echo 
"No hay resultados para su busqueda";
}
?> 

Los "detalles" no se suelen hacer como tu lo vas hacer .. es decir, pasando todos los campos obtenidos. Lo que se hace en tu script es obtener lo mìnimo que el listado presenta y su "ID" .. ese es que que -sólo- pasas a "deatalle.php" y este a su vez harà una consulta SQL por ese ID para obtener el total o los registros que ese "detalle" tenga que hacer.

detail.php
Código PHP:
<?
// conectas a tu BBDD .. seleccionas la BBDD a trabajar .. etc
$sql="SELECT * FROM datos WHERE id='".$_GET['id']."'";
$resultado=mysql_query($sql) or die (mysql_error());
// por "ID" al ser (supongo) unico .. buscamos una ocurrencia (resultado) .. 
if (mysql_num_rows($resultado) == 1){
   
// aquì uso mysql_fetch_row() por què sòlo quiero una "fila"
   
$row=mysql_fetch_row($resultado);
   echo 
$row['nombre'];
   
// etc .. presentas todos los campos que necesites ..
} else {
  echo 
"No se encuentra el registro solicitado";
}
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.