• User Attivo

    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>";
    ?>
    
    

  • User Attivo

    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


  • User Attivo

    nessuno mi aiuta?????


  • Super User

    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]


  • User Attivo

    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


  • User Attivo

    il warning lo tolto mettendo $ris1 invece di result però non riesco a stamapre i numeri di cel.

    aiutami non ci sto riuscendo


  • User Attivo

    Dopo un mysql_fetch_row non credo si possa leggere i record.
    Dopo quell'istruzione prova a rifare la query.

    :fumato:


  • Super User

    [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 +


  • User Attivo

    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


  • Super User

    echo $array['cell']."<br/>";