Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Problema foreach

  1. #1

    Problema foreach

    Salve e grazie anticipatamente...
    Ho questo problema...
    Ho varie misure miste presenti in tabella elenco_misure, per le misure che seleziono con una checkbox devo inviare anche la relativa disponibilità.
    Ho fatto due funzioni.
    una show_misure mi fa estrarre tutte le misure e selezionare quelle che mi interessano con relativa disponibilità e le invia a funzione add_misure...
    (Ho fatto anche in modo che mi faccia vedere quali erano già presenti nella tabella misure_prodotto).
    Il problema è che quando estraggo le misure e le relative disponibilità dalla funzione add_misura, non vengono indicizzate misura e relativa disponibilità, ma prima tutte le misure e dopo le disponibilità. Il mio obiettivo è salvare in tabella misure_prodotto il valore misura e il relativo disponiblità. Spero di essere stato chiaro, grazie per il prezzioso aiuto...
    P.S itemid è l'unico valore uguale per tutte le misure e per tutte le disponibilità perchè è l'id del prodotto.

    function add_misura($misura, $itemid, $disponibilita, $ric)
    {

    include("inc/config.inc.php");

    $itemid=$_POST['itemid'];
    $misura=$_POST['misura'];
    $disponibilita=$_POST["disponibilita"];
    $ric=$_POST['ric'];

    $lungh_array= count($misura);
    echo"Controllo numero selezioni: $lungh_array



    ";

    foreach ($itemid as $i => $id) {
    $mis = $misura[$i];
    $dis = $disponibilita[$i];
    $item = $itemid[$i];
    $val=$mis.$dis;
    echo"$val

    ";
    };



    }

    function show_misure($itemid)
    {
    $itemid=$_GET["itemid"];
    $query = mysql_query("SELECT * FROM elenco_misure ORDER BY id DESC");
    echo"<script language=\"JavaScript\" type=\"text/javascript\">
    function selectAll() {
    var coll = document.getElementsByTagName(\"INPUT\");
    if (coll!=null) {
    for (i=0; i<coll.length; i++) {
    if (coll[i].type == 'checkbox' && coll[i].name != 'allbox') {
    if (coll[0].checked==true){
    coll[i].checked = true;
    }else{
    coll[i].checked = false;
    }
    }
    }
    }
    }

    </script>

    <form method=\"post\" action=\"website_manager.php?subdir=fnc_prodotti&t ask=add_misura\"
    name=\"cutlist\">(Seleziona tutti
    <input type=\"checkbox\" name=\"allbox\" value=\"all\" onclick=\"selectAll(true);\" />)


    <hr>


    ";
    while ($row = mysql_fetch_array($query))
    {

    $ids = $row["id"];
    $misura = $row["misura"];
    $queryop = mysql_query("SELECT * FROM misure_prodotto WHERE itemid='$itemid' AND
    misura='$misura' ORDER BY id DESC");
    if($queryop)
    $numop = mysql_num_rows($queryop);
    $rowop = mysql_fetch_array($queryop);
    echo " <input type=\"checkbox\" name=\"misura[]\" id=\"$misura\" value=\"$misura\" ";

    if($numop>0) echo "checked=\"checked\"";

    echo " > $misura <input name=\"disponibilita[]\" type=\"text\" id=\"disponibilitas\"
    size=10 value=\"\" >
    <input name=\"itemid[]\" type=\"hidden\" id=\"$itemid\" value=\"$itemid\">


    ";
    }

    echo "
    <input name=\"ric\" type=\"hidden\" id=\$ric\" value=\"$itemid\">
    <input type=\"submit\" name=\"add\" value=\"Seleziona misure\">
    </form>";
    }
    Anche un orologio rotto una volta al giorno c'ha ragione...

  2. #2

    Re: Problema foreach

    Originariamente inviato da LeonardoS82
    Salve e grazie anticipatamente...
    Ho questo problema...
    Ho varie misure miste presenti in tabella elenco_misure, per le misure che seleziono con una checkbox devo inviare anche la relativa disponibilità.
    Ho fatto due funzioni.
    una show_misure mi fa estrarre tutte le misure e selezionare quelle che mi interessano con relativa disponibilità e le invia a funzione add_misure...
    (Ho fatto anche in modo che mi faccia vedere quali erano già presenti nella tabella misure_prodotto).
    Il problema è che quando estraggo le misure e le relative disponibilità dalla funzione add_misura, non vengono indicizzate misura e relativa disponibilità, ma prima tutte le misure e dopo le disponibilità. Il mio obiettivo è salvare in tabella misure_prodotto il valore misura e il relativo disponiblità. Spero di essere stato chiaro, grazie per il prezzioso aiuto...
    P.S itemid è l'unico valore uguale per tutte le misure e per tutte le disponibilità perchè è l'id del prodotto.

    function add_misura($misura, $itemid, $disponibilita, $ric)
    {

    include("inc/config.inc.php");

    $itemid=$_POST['itemid'];
    $misura=$_POST['misura'];
    $disponibilita=$_POST["disponibilita"];
    $ric=$_POST['ric'];

    $lungh_array= count($misura);
    echo"Controllo numero selezioni: $lungh_array



    ";

    foreach ($itemid as $i => $id) {
    $mis = $misura[$i];
    $dis = $disponibilita[$i];
    $item = $itemid[$i];
    $val=$mis.$dis;
    echo"$val

    ";
    };



    }

    function show_misure($itemid)
    {
    $itemid=$_GET["itemid"];
    $query = mysql_query("SELECT * FROM elenco_misure ORDER BY id DESC");
    echo"<script language=\"JavaScript\" type=\"text/javascript\">
    function selectAll() {
    var coll = document.getElementsByTagName(\"INPUT\");
    if (coll!=null) {
    for (i=0; i<coll.length; i++) {
    if (coll[i].type == 'checkbox' && coll[i].name != 'allbox') {
    if (coll[0].checked==true){
    coll[i].checked = true;
    }else{
    coll[i].checked = false;
    }
    }
    }
    }
    }

    </script>

    <form method=\"post\" action=\"website_manager.php?subdir=fnc_prodotti&t ask=add_misura\"
    name=\"cutlist\">(Seleziona tutti
    <input type=\"checkbox\" name=\"allbox\" value=\"all\" onclick=\"selectAll(true);\" />)


    <hr>


    ";
    while ($row = mysql_fetch_array($query))
    {

    $ids = $row["id"];
    $misura = $row["misura"];
    $queryop = mysql_query("SELECT * FROM misure_prodotto WHERE itemid='$itemid' AND
    misura='$misura' ORDER BY id DESC");
    if($queryop)
    $numop = mysql_num_rows($queryop);
    $rowop = mysql_fetch_array($queryop);
    echo " <input type=\"checkbox\" name=\"misura[]\" id=\"$misura\" value=\"$misura\" ";

    if($numop>0) echo "checked=\"checked\"";

    echo " > $misura <input name=\"disponibilita[]\" type=\"text\" id=\"disponibilitas\"
    size=10 value=\"\" >
    <input name=\"itemid[]\" type=\"hidden\" id=\"$itemid\" value=\"$itemid\">


    ";
    }

    echo "
    <input name=\"ric\" type=\"hidden\" id=\$ric\" value=\"$itemid\">
    <input type=\"submit\" name=\"add\" value=\"Seleziona misure\">
    </form>";
    }
    Potresti provare cosi però non garantisco perchè non posso testare!!sostituisci il "foreach" nella funzione add_misure con questo:

    $tab = "<table width='400'>";
    foreach ($itemid as $i => $id) {
    $tab .= "<tr>";
    $mis = $misura[$i];
    $dis = $disponibilita[$i];
    $item = $itemid[$i];
    $tab .= "<td width="200">".$mis."</td>";
    $tab .= "<td width="200">".$dis."</td>";
    $tab .= "</tr>";
    };
    $tab .= "</table>";
    echo $tab;

    fammi sapere
    ciao

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.