Estrae solo la prima riga

Sassofonix

Nuovo Utente
6 Ago 2013
10
0
0
Il problema è questo: ho una query che dovrebbe restituirmi una tabella con 3 righe, in effetti se faccio l'echo di "mysqli_num_rows($res)" ottengo 3..... Ora però voglio estrarre riga per riga e usarli all'interno per visualizzare i suoi dati, ho usato un ciclo while con questa condizione "($row = mysqli_fetch_array($res))" soltanto che a quanto pare entra una volta sola nel ciclo while.... Ecco il codice:
PHP:
<?php
	
	$id_user = $_SESSION['login'];
	
	$db = new MysqlClass();
	
	$db->connetti();
	
	$sql = "SELECT text,type_arguments,data_richiesta FROM `request for help` WHERE id_user ='".$id_user."'";
	$res = mysqli_query($db->connessione,$sql); 
	echo $sql;
	echo mysqli_num_rows($res);
	while ($row = mysqli_fetch_array($res)){
		$sql = "SELECT Argomento FROM Arguments WHERE id = '".$row['type_arguments']."'";
		$res = $db->query($sql);
		$row2 = mysqli_fetch_array($res);
		$argument = $row2['Argomento'];
		$str = "
		<table>
			<thead>
				<tr>
					<th colspan=\"2\">
						<h4>"."&nbsp &nbsp Argomento: ".$argument."</h4>
					</th>
				</tr>
			</thead>
			<tbody>
				<tr id=\"areatesto\">
					<td bgcolor=\"#60F0F0\" width=\"15%\">
					<br/>&nbsp&nbsp&nbsp".$row['data_richiesta']."
					</td>
					<td bgcolor=\"#FFF\">
						<textarea disabled=\"disabled\" name=\"testo\" rows=\"8\" cols=\"75\" style=\"resize: none\">
							".$row['text']."
						</textarea>
					</td>
				</tr>
			</tbody>
			<tfoot height=\"0%\" bgcolor=\"#9ff\">
				<tr>
				</tr>
			</tfoot>
		</table>";
		echo $str;
		echo "ciao";
	}
	$db->disconnetti();
?>
 
probabilmente la query all'interno del ciclo ti annulla la prima
modifica cosi e prova
PHP:
$res1 = $db->query($sql);
$row2 = mysqli_fetch_array($res1);
 

Discussioni simili