- Home
- Categorie
- Coding e Sistemistica
- Coding
- problema su ciclo for
-
problema su ciclo for
ciao a tutti, nel codice di sotto dopo aver prelevato gli id delle persone che hanno quel particolare id della categoria, faccio un for per prendere i numeri di cel di quelle persone con quell'id. ma il problema è che mi stampa solo il numero di cel di una sola persona. dove sbaglio?
<?php //Includo i file per la connessione //e per la verifica Utente require_once('connessione.php'); $titolo = $_POST['titolo']; $idcategoriadalform = $_POST['radiobutton']; $strSQL = "INSERT INTO articolo(idcategoria,idredattore,titolo)"; $strSQL .= "VALUES('$idcategoriadalform','redattore','$titolo')"; mysql_query($strSQL)OR die("Errore nella query:".mysql_error()); $query ="Select * from seleziona"; $ris=mysql_query($query) or die("Errore nella query:".mysql_error()); $numrows = mysql_num_rows($ris); //echo $numrows; for($x=0; $x<$numrows; $x++){ //ciclo for 1 aperto $resrow = mysql_fetch_row($ris); $idcategoria=$resrow['1'] ; // echo $idcategoria; if ($idcategoria==$idcategoriadalform) { //ciclo if 1 aperto $query ="Select * from seleziona where idcategoria='$idcategoria'"; $ris=mysql_query($query) or die("Errore nella query:".mysql_error()); $numrighe = mysql_num_rows($ris); for($i=0; $i<$numrighe; $i++){ /////ciclo for 2 aperto $resrow = mysql_fetch_row($ris); $idpersona=$resrow['0'] ; echo $idpersona; //echo "ok"; }//ciclo for 2 chiuso $query ="Select * from persona"; $ris=mysql_query($query) or die("Errore nella query:".mysql_error()); $numrighe = mysql_num_rows($ris); for($i=0; $i<$numrighe; $i++){ ///ciclo for 3 aperto $query ="Select * from persona where idpersona='$idpersona'"; $ris1=mysql_query($query) or die("Errore nella query:".mysql_error()); $resrow = mysql_fetch_row($ris1); $cellulare=$resrow['5'] ; echo $cellulare; }///ciclo for 3 chiuso } ///ciclo if 1 chiuso else { echo "niente"; } } // cilco for 1 chiuso echo "<br>ARTICOLO INSERITO CON SUCCESSO!!!"; echo "<br><a href='index.php'>TORNA ALL'HOMEPAGE</a>"; ?>
-
il problema credo che stia nel ciclo for 3 xchè non fà il ciclo su tutti gli id delle persone. spero di aver esposto bene il problema e spero in un vostro aiuto
-
nessuno mi aiuta?????
-
non capisco perchè fai questo:
[php]
$query ="Select * from persona";
$ris=mysql_query($query) or die("Errore nella query:".mysql_error());
$numrighe = mysql_num_rows($ris);for($i=0; $i<$numrighe; $i++){ ///ciclo for 3 aperto $query ="Select * from persona where idpersona='$idpersona'"; $ris1=mysql_query($query) or die("Errore nella query:".mysql_error()); $resrow = mysql_fetch_row($ris1);
[/php]
non puoi fare direttamente
[php]
$query ="Select * from persona where idpersona='$idpersona'";
$ris1=mysql_query($query) or die("Errore nella query:".mysql_error());
$resrow = mysql_fetch_row($ris1);
[/php]senza il for?
cioè li quel for è inutile...poi fai
[php]
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf("cell: %s", $row[5]);
}
[/php]
-
ciao gh3 grazie per la risposta ma continua a non stamapre i numeri di cellulare
ho messo questa:$query ="Select * from persona where idpersona='$idpersona'"; $ris1=mysql_query($query) or die("Errore nella query:".mysql_error()); $resrow = mysql_fetch_row($ris1); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf("cell: %s", $row[5]); }
e mi da anche questo errore
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\componente\inviaarticolo.php on line 51
-
il warning lo tolto mettendo $ris1 invece di result però non riesco a stamapre i numeri di cel.
aiutami non ci sto riuscendo
-
Dopo un mysql_fetch_row non credo si possa leggere i record.
Dopo quell'istruzione prova a rifare la query.
-
[php]
$sql = "SELECT cell FROM persona WHERE idpersona='".$idpersona."'";
$result = mysql_query($sql);
while ($array = mysql_fetch_array($result))
{
echo $array['cell']; // non so se cell è nome del campo del db che contiene il cell
}[/php]ovviamente il mysql_fetch_row non serve +
-
ciao gh3, ok risolto ti ringrazio tanto. mi hai dato un grande aiuto.
un ultima domanda ma x fare andare a capo come faccio?
cioè adesso mi escono i numeri di cel di seguito ma vorrei farli uscire uno sotto l'altro
-
echo $array['cell']."<br/>";