Creates table from all db info:
<?php
$qry = "SELECT * FROM exp_member_data";
$res = mysql_query($mem_qry);
function mysql_fetch_all($res) {
while($row=mysql_fetch_array($res)) {
$return[] = $row;
}
return $return;
}
function create_table($dataArr) {
echo "<tr>";
for($j = 0; $j < count($dataArr); $j++) {
echo "<td>".$dataArr[$j]."</td>";
}
echo "</tr>";
}
$all = mysql_fetch_all($res);
echo "<table class='data_table'>";
for($i = 0; $i < count($all); $i++) {
create_table($all[$i]);
}
echo "</table>";
?>
mysql_fetch_row
(PHP 4, PHP 5)
mysql_fetch_row — Recupera una fila de resultado como un array numérico
Descripción
$result
)Devuelve un array numérico que corresponde a la fila recuperada y mueve el apuntador de datos interno hacia adelante.
Parámetros
-
result -
El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().
Valores devueltos
Devuelve un array numérico que corresponde a la fila recuperada, o FALSE si no quedan más filas.
mysql_fetch_row()recupera una fila de datos del resultado asociado al identificador de resultado especificado. La fila es devuelta como un array. Cada campo del resultado es almacenada en un índice del array, empezando desde 0.
Ejemplos
Ejemplo #1 Recuperando una fila con mysql_fetch_row()
<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
echo $row[0]; // 42
echo $row[1]; // the email value
?>
Notas
Nota: Esta función define campos NULOS al valor
NULLde PHP.
Ver también
- mysql_fetch_array() - Recupera una fila de resultado como un array asociativo, un array numérico o como ambos
- mysql_fetch_assoc() - Recupera una fila de resultado como un array asociativo
- mysql_fetch_object() - Recupera una fila de resultado como un array objeto
- mysql_data_seek() - Mueve el apuntador interno del resultado
- mysql_fetch_lengths() - Obtiene la longitud de cada salida en un resultado
- mysql_result() - Obtener datos de resultado
sry :) note now fixed:
<?php
$esi=mysql_list_tables($db);$ris=mysql_fetch_row($esi);
//example: $db has >= 1 tabs
echo var_dump($ris);
//echoes only array(1). solution:
while($ris=mysql_fetch_row($esi)) echo $ris[0];
/*debug:
$ris=array("1st_tab"); ... $ris=array("n_tab");$ris=false;*/
while ($ris[]=mysql_fetch_row($esi));
//debug:$ris=array(array("1st_tab"), ... array("n_tab"));
echo $ris[n][0];//echo:"n_tab"
echo $ris[0][n];//echo:array | null
?>
hope it helps
The following are the basic codes to get a specific row from the mysql db into a $row variable:
$query = "SELECT * FROM table";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
And $row[0], $row[1] ... $row[n] are used to access those field values.
Does anyone know how I can add a new field to $row, so that the field count increases from n to n+1?
I have tried treating $row like an array, and tried array_push function, but didn't work.
Thanks.
The following function to read all data out of a mysql-resultset, is may be faster than Rafaels solution:
<?
function mysql_fetch_all($result) {
while($row=mysql_fetch_array($result)) {
$return[] = $row;
}
return $return;
}
?>
It is probably worth pointing out that the array elements will actually be of type string, OR NULL if the field is null in the database.
Thus, either use a double equal comparison to look for empty or null
Or, use a triple equal comparison to be able to distinguish the two cases
e.g.
if ($field === '') echo "Empty, not NULL\n";
if ($field === NULL) echo "NULL\n";
if ($field == '') echo "Empty or NULL\n";
to print an array, simply use print_r(array name)
like this:
$myrow = mysql_fetch_row($result);
echo "<pre>";
print_r($myrow);
echo "</pre>";
this will output the array in a readable form, with the index, too. Don't forget the 'pre' tags or the output will be on a single line.
Maybe worth pointing out that all the fields returned by this (and other?) calls are returned with type string. This had me puzzled for quite some time.
