Comunidad de diseño web y desarrollo en internet online

imprimir TODOS los datos de una base de datos con php y mysq

Citar            
MensajeEscrito el 19 May 2010 03:15 pm
disculpen tengo un pekeñito problema... watoiy haciendo un sistema mediante el cual se lleva un inventario ya tengo las consultas pero a un segistro mediante su ID el codigo es este:

Código PHP :

<?php 
include_once("./bdmysql.class.php"); 
$bd=new BDMySQL();
  
$a=$_POST["txtid"];  

$row = array(); 

function buscar($arr)
{
  global $row;
  $row=$arr;
  //print_r($arr);
}  
  
  $d=""; 
  $b=""; 
  $c="";
  $e="";
  $f="";
  $g="";
  $h=""; 
  $i=""; 
$sql="SELECT * FROM compus where id=$a";

//Usas la función read de la clase BDMySQL, la cual necesita como parámetros la sentencia sql ($sql) y el array donde estará el resultado ($row)
 $bd->read($sql, "buscar");
  //Compruebas si la cantidad de elementos es distinta a 0 
  if(count($row) != 0) {   
  //Asignas los datos de la BD a las variables de php    
  $d= $row["id"];    
  $b= $row["marca"];    
  $c= $row["usuario"];
  $e= $row["targetamadre"];
  $f= $row["monitor"];
  $g= $row["red"];
  $h= $row["video"];
  $i= $row["audio"];
  
  echo "<form method='post' action='modificar.php'>"; 
   
  echo " datos de la maquina:<br>";
  echo "ID: &nbsp";
  echo $d;
  echo "<input type='hidden' name='d' value='$d'>";
  echo "<br>";
  echo "Marca: &nbsp";
  echo "<input type='text' name='b' value='$b'>";
  echo "<br>"; 
  echo "Usuario: &nbsp";
  echo "<input type='text' name='c' value='$c'>";
  echo "<br>";
  echo "Tarjeta madre: &nbsp";
  echo "<input type='text' name='e' value='$e'>";
  echo"<br>"; 
  echo "Monitor: &nbsp";
  echo "<input type='text' name='f' value='$f'>";
  echo "<br>";
  echo "Tarjeta de  Red: &nbsp";
  echo "<input type='text' name='g' value='$g'>";
  echo "<br>";
  echo "Video: &nbsp";
  echo "<input type='text' name='h' value='$h'>";
  echo "<br>"; 
  echo "Audio: &nbsp"; 
  echo "<input type='text' name='i' value='$i'>";
  echo "<br>";
  
  echo "<br/><input type='image' src='../imagenes/actualizar.jpg'/>";
  echo "<br/> Modificar &nbsp Registro";
  }else{
  echo "id no existe";
  }


?>



ese codigo em sirve a mi para ver algun registro mediante su ID el punto es que quiero ver todos los registros juntos pienso io que el codigo es igual solo que ala consulta se le kita el where para ke no solo sea con la ID ke se le indike el registroque imprima... pero mi duda es nesesito algun do while? o while? o algun for? por ke al hacer esto:

Código PHP :

<?php 
include_once("./bdmysql.class.php"); 
$bd=new BDMySQL();

$row = array(); 

function buscar($arr)
{
  global $row;
  $row=$arr;
  //print_r($arr);
}  
  
  $d=""; 
  $b=""; 
  $c="";
  $e="";
  $f="";
  $g="";
  $h=""; 
  $i=""; 
$sql="SELECT * FROM compus";
$bd->read($sql, "buscar");

  if(count($row) != 0) {   
  //Asignas los datos de la BD a las variables de php    
  $d= $row["id"];    
  $b= $row["marca"];    
  $c= $row["usuario"];
  $e= $row["targetamadre"];
  $f= $row["monitor"];
  $g= $row["red"];
  $h= $row["video"];
  $i= $row["audio"];
  
   echo " datos de la maquina:<br>";
  echo "ID: &nbsp";
  echo $d;
  echo "<input type='hidden' name='d' value='$d'>";
  echo "<br>";
  echo "Marca: &nbsp";
  echo "<input type='text' name='b' value='$b'>";
  echo "<br>"; 
  echo "Usuario: &nbsp";
  echo "<input type='text' name='c' value='$c'>";
  echo "<br>";
  echo "Tarjeta madre: &nbsp";
  echo "<input type='text' name='e' value='$e'>";
  echo"<br>"; 
  echo "Monitor: &nbsp";
  echo "<input type='text' name='f' value='$f'>";
  echo "<br>";
  echo "Tarjeta de  Red: &nbsp";
  echo "<input type='text' name='g' value='$g'>";
  echo "<br>";
  echo "Video: &nbsp";
  echo "<input type='text' name='h' value='$h'>";
  echo "<br>"; 
  echo "Audio: &nbsp"; 
  echo "<input type='text' name='i' value='$i'>";
  echo "<br>";
  
  //echo "<br/><input type='image' src='../imagenes/actualizar.jpg'/>";
  //echo "<br/> Modificar &nbsp Registro";
  }else{
  echo "id no existe";
  }

?>



solo me imprime el ultimo registro de mi base de datos...
tengo ke usar algun siclo? para que el arreglo me balla imprimiendo cada registro? y si es asi me podrian dar un ejemplo por favor? de antemano mil gracias...

Por marioparra

43 de clabLevel



 

msie8
Citar            
MensajeEscrito el 21 May 2010 04:20 pm
Por supuesto.. porque solo le ordenas a php que imprima un resultado , y ese resultado es el ultimo que te entrga mysql
para esto pueden usar un bucle while:

Código PHP :

$consulta="select * from mi_tabla"
while($link=mysql_fetch_array($consulta)){
echo $link['mi_campo'];
echo $link['mi_otro_campo_mysql'];
}

Lo mas seguro es que la libreria mysql que estas usando te de alguna opcion para esto.
Con el codgio que tienes ahora no se me ocurre ninguna forma de implementar un bucle correctamente pues desconosco el funcionamiento interno de bdmysql.class

Por Xer0s

Claber

276 de clabLevel

3 tutoriales

 

Colombia

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.