2011-09-20 24 views

Respuesta

31

Necesita obtener todos los datos que desee de la tabla. Algo como esto funcionaría:

$SQLCommand = "SELECT someFieldName FROM yourTableName"; 

Esta línea va a su mesa y obtiene los datos en 'someFieldName' desde su mesa. Puede agregar más nombres de campo donde 'someFieldName' si desea obtener más de una columna.

$result = mysql_query($SQLCommand); // This line executes the MySQL query that you typed above 

$yourArray = array(); // make a new array to hold all your data 


$index = 0; 
while($row = mysql_fetch_assoc($result)){ // loop to store the data in an associative array. 
    $yourArray[$index] = $row; 
    $index++; 
} 

El ciclo anterior pasa por cada fila y la almacena como un elemento en la nueva matriz que ha creado. A continuación, puede hacer lo que quiera con esa información, como la impresión a cabo a la pantalla:

echo $row[theRowYouWant][someFieldName]; 

Así que si $ theRowYouWant es igual a 4, sería de los datos (en este caso, 'someFieldName') a partir de la quinta fila (¡recuerde, las filas comienzan en 0!).

+0

Esto ahorrará todo en elemento de la matriz '[0] ', porque estás restablecer' $ index' en cada iteración del bucle. –

+0

Derecha, buena captura. Fijo. –

+0

Puede hacerlo ** sin ** un bucle: https://stackoverflow.com/a/45682872/2311074 – Adam

13
$sql = "SELECT field1, field2, field3, .... FROM sometable"; 
$result = mysql_query($sql) or die(mysql_error()); 

$array = array(); 

while($row = mysql_fetch_assoc($result)) { 
    $array[] = $row; 
} 

echo $array[1]['field2']; // display field2 value from 2nd row of result set. 
2

Las otras respuestas hacer el trabajo - sin embargo OP pidieron todas las filas y si todos los campos se querían, así que mucho mejor sería dejarlo genérico en lugar de tener que actualizar el php cuando la base de datos cambia

$query="SELECT * FROM table_name"; 

También a este punto, devolver los datos también puede dejarse genérico. Me gusta mucho el formato JSON, ya que se actualizará dinámicamente y se puede extraer fácilmente de cualquier fuente.

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    echo json_encode($row); 
} 
1

AQUÍ ES SU CÓDIGO, UTILÍZELO. ESTÁ PROBADO.

$select=" YOUR SQL QUERY GOOES HERE"; 
$queryResult= mysql_query($select); 

//DECLARE YOUR ARRAY WHERE YOU WILL KEEP YOUR RECORD SETS 
$data_array=array(); 

//STORE ALL THE RECORD SETS IN THAT ARRAY 
while ($row = mysql_fetch_array($queryResult, MYSQL_ASSOC)) 
{ 
    array_push($data_array,$row); 
} 


mysql_free_result($queryResult); 


//TEST TO SEE THE RESULT OF THE ARRAY 
echo '<pre>'; 
print_r($data_array); 
echo '</pre>'; 

GRACIAS

+2

¿POR QUÉ ESTÁ GRITANDO? – Goose

1

Puede hacerlo sin un bucle. Sólo tiene que utilizar el comando fetch_all

$sql  = 'SELECT someFieldName FROM yourTableName'; 
$result = $db->query($sql); 
$allRows = $result->fetch_all(); 
Cuestiones relacionadas