- Home
- Categorie
- Coding e Sistemistica
- PHP
- non riesco a stamapre il numero totale di righe
-
non riesco a stamapre il numero totale di righe
ciao ragazzi, io ho un utente connesso che crea dei gruppi a cui aggiunge dei contatti; ora sto cercando di stamparmi tutti i contatti con che iniziano con la lettera "a" ma se ho 3 contatti invece di stamaprmi 3 mi stampa una cosa del genere:
1
1
1però io vorrei che dia 3.
cosa sbaglio.
posto il codice:
<?php //Includo i file per la connessione //e per la verifica del login require_once('connessione.php'); require_once('verificalogin.php'); if(!isset($_SESSION['utente'])) { echo 'errore'; } else { $user=$_SESSION['utente'][0]; } $query1 = "SELECT idutente FROM utente WHERE username = '$user'"; $result1 = mysql_query($query1) or die("Errore nella query1:".mysql_error()); $riga = mysql_fetch_array($result1); $idutente = $riga['idutente']; //echo $idutente; $query2 = "SELECT idgruppo FROM gruppi WHERE idutente = '$idutente'"; $result2 = mysql_query($query2) or die("Errore nella query2:".mysql_error()); $numerorighe = mysql_num_rows($result2); for($x=0; $x<$numerorighe; $x++) { $res = mysql_fetch_array($result2); $idgruppo = $res['idgruppo']; $query3 = "SELECT idutente FROM include WHERE idgruppo = '$idgruppo'"; $result3 = mysql_query($query3) or die("Errore nella query3:".mysql_error()); while($riga = mysql_fetch_array($result3)) { $idutente = $riga['idutente']; $query4 = "SELECT * FROM utente WHERE idutente = '$idutente' AND nome LIKE '%A%'"; $result4 = mysql_query($query4) or die("Errore nella query4:".mysql_error()); $riga = mysql_fetch_array($result4); $numrigh = mysql_num_rows($result4); echo $numrigh; }} ?>
-
Prova a sostituire select * con select count(*) in query4
e
$numrigh= $riga [0];
-
ciao ho provato come hai detto ma nulla, non se sto uscendo fuori.uffa!
$query4 = "select count(*) FROM utente WHERE idutente = '$idutente' AND nome LIKE '%A%'"; $result4 = mysql_query($query4) or die("Errore nella query4:".mysql_error()); $riga = mysql_fetch_array($result4); $numrigh= $riga [0]; echo $numrigh;
-
Scusa, ho riguardato un attimo il codice:
con la prima query ti trovi l'idutente partendo dal nome ;
con la seconda ti trovi tutti i suoi gruppi ;
con la terza, che viene fatta x volte (se i gruppi sono x) ti trova l'id di tutti gli utenti che fanno parte di questi gruppi ;
con la quarta ti estrai a uno a uno i dati di tutti gli utenti con la 'a' che fanno parte di questi gruppi, quindi è naturale che escano uno alla volta.Se a te basta contare i contatti con la lettera 'a' è sufficiente portare il count e la condizione like nella terza query ed eliminare la quarta.
Altrimenti, mi sa che non ho capito quello che vuoi fare...