Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    consiglio su ciclo da usare

    Dunque, mi sono incartato su questa cosa e non so nemmeno se sto seguendo la strada giusta..
    vediamo se potete aiutarmi a capire:

    praticamente ho questa pagina php, che si genera a sua volta dopo avergli passato un id tramite un post di una pagina precedente, dove inserisco le informazioni mancanti e quindi salvo il tutto su db.

    premesso questo, quello che vorrei fare, in teoria sembra una cavolata, perchč (a parole mie) basta dirgli una cosa tipo:

    per ogni riga di articolo che hai nella tabella del dettaglio_preventivo, fammi vedere n form tanti quanti sono gli articoli che hai trovato

    ora, io il form funzionante per un solo articolo l'ho fatto, la query di inserimento pure, ma quello che mi manca č questo ciclo... che cosa dovrei fare/usare?

    a me viene in mente (ma non so nemmeno se č la logica giusta) una cosa tipo:

    una prima select che tira fuori le varie righe degli articoli dalla relativa tabella filtrato appunto per l'id_preventivo che mi recupero dalla pagina precedente
    un ciclo che mostra n form per queste righe risultanti dalla query
    quindi la query di inserimento dei vari valori x ogni riga interessata

    qualcuno ha voglia di spiegarmi se sto seguendo la logica corretta o se devo puntare su qualcos'altro o se la logica č giusta ma sbaglio il tipo di ciclo o qualsiasi altra cosa?

    grazie

    Fabri

  2. #2
    ...diceva qualcuno... chi fa da sč, fa per tre
    per ora ho fatto qualche passo avanti, anche se ancora mi va in errore...

    questo č un primo pezzo del codice interessato, dove credo anche si trovi uno degli errori principali che ancora non ho capito come risolvere:
    premetto che il form senza ciclo, funziona alla perfezione su un singolo prodotto.
    il mio problema vi ricordo č che volevo visualizzare questo form N volte quante sono i prodotti.

    Codice PHP:
    <?
    $query_max 
    "SELECT id_riga from dettagli_preventivi 
    where `id_preventivo` = '"
    .$_POST["id_prev"]."'";
    $risultato_max mysql_query($query_max) or die ($query_max."
    "
    .mysql_error());
    while (
    $row mysql_fetch_array($risultato_max,MYSQL_ASSOC))
    {
    $riga "".$row["id_riga"]."";};
    $max $riga;
    echo 
    "<input type=\"hidden\" name=\"max\" value=\"$max\">\n";
    for (
    $i 1$i <= $max$i++){
    echo 
    "
          <tr>
                <td>Fornitore:</td>"
    ;
    $fornitori "select * from `ana_forn`";
    $lista_fornitori mysql_query($fornitori) or die ("non eseguo la query fornitori");
    echo 
    "<td><select name=\"fornitori[$i]\">\n";
    echo 
    "<option value=\"0\">- Selezionare Fornitore -</option>\n";
    while (
    $forn mysql_fetch_array($lista_fornitori,MYSQL_ASSOC))
    {
    echo 
    "<option value=\"".$forn["id_ana_forn"]."\"";
     if (isset(
    $_POST["fornitori"][$i]) and $_POST["fornitori"][$i] == 
    $forn["id_ana_forn"])
     {
            echo 
    " selected";
     }
     echo 
    ">".$forn["rag_soc"]."</option>\n";
    }
    echo 
    "</select></td></tr>";
    ?>
    l'errore credo sia proprio nel settaggio della variabile $max, perchč la query in realtą al momento restituisce solo 2 record dal db, ma quando viene generato il form lo ripete ben 5 volte...
    suggerimenti?

    ...andiamo avanti, l'altro errore che ho č questo:
    Codice PHP:
    <?
    $id_prev 
    = ($_POST["id_prev"]);
    if (isset(
    $_POST["calcola"][$i])){
    $id_prev = ($_POST["id_prev"]);
    $costo=$_POST["costo"][$i];
    $ricarico=$_POST["ricarico"][$i]; 
    $percentuale=($costo*$ricarico)/100;
    $totale=$costo+$percentuale;
    $tot number_format($totale2","".");
    }
    echo
    "
    <tr><td><input type=\"hidden\" name=\"id_prev[
    $i]\" value=\"$id_prev\"></td></tr>
    <tr><td>Costo:</td>
              <td><input name=\"costo[
    $i]\" type=\"text\" id=\"costo\" value=\"".(isset($_POST["costo"][$i])?$_POST["costo"][$i]:"")."\" size=\"10\" maxlenght=\"10\" />€</td></tr>
                <tr>
                <td>Ricarico:</td>
                <td><input name=\"ricarico[
    $i]\" type=\"text\" id=\"ricarico\" value=\"".(isset($_POST["ricarico"][$i])?$_POST["ricarico"][$i]:"")."\" size=\"4\" maxlength=\"7\" />
                  %<input name=\"calcola[
    $i]\" type=\"submit\" value=\"Calcola prezzo\" OnClick=\"document.forms[0].submit()\" /></td>
              </tr>
              <tr><td>Prezzo Vendita:</td>
              <td><input name=\"prezzo_vendita[
    $i]\" type=\"text\" id=\"prezzo_vendita\" value=\"$tot\" size=\"10\" maxlenght=\"10\" />€</td></tr>
     "
    ;
     }
    ?>
    in pratica, nella versione senza ciclo, questo pezzo di form non faceva altro che prendere 2 dati, costo e ricarico, calcolare il totale e schiaffarlo nella terza casella di testo del form.
    dopo le aggiunte del [$i] ai vari campi, non appena ne clicco uno mi scompare tutto...
    suggerimenti?

    ciao,
    Fabrizio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.