Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    residenza
    rimini, san marino
    Messaggi
    934

    Array... dove sto sbagliando?

    Ciao a tutti.

    Il mio obbiettivo è quello di fare un aggiornamento multiplo con un solo form.

    In pratica è molto simile al lavoro di un carrello in cui si aggiunge o si eliminano vari articoli cliccando un unico bottone.

    Ecco la parte di codice che non mi funziona:

    codice:
    else	{
    	print("<form action=ordinamento.php method=post>
            	<input type=hidden name=azione value=update>
    	");
    
    $connessione = mysql_connect ($host , $user, $password);
    
    $query_categorie = "select products.products_id,products.products_model, products.ordinamento from ecommerce.products where products.products_id < $secondo_parametro and products.products_id > $primo_parametro";
    
    $risultato_query = mysql_db_query ($database_ecommerce, $query_categorie , $connessione);
    
    while ($row = mysql_fetch_array($risultato_query)) {
             	$a++;
    	echo $row[products_id];
       	echo $row[products_model];
    	echo $row[ordinamento] . "
    ";
                    $ordinamento_prodotti=array(
                                                array($a),
                                                array($row[products_id]),
                              	            array($row[ordinamento])
                                                );
                              }
    	        mysql_close ($connessione);
    print("<input type=hidden name=ordinamento_prodotti value=$ordinamento_prodotti>");
                print("<input type=hidden name=a value=$a>");
                print("<input type=submit value=aggiorna>");
                print("</form>");
    
    }
    
    if ($azione=="update")	{
    	if($ordinamento)	{
        					print("
    esiste
    ");
    
    	                    foreach($ordinamento_prodotti[0] as $key=>$ordinamento_prodotti)
    	                            {
    	                            $a=$ordinamento_prodotti[1][$key];
    	                            $products_id=$ordinamento_prodotti[2][$key];
    	                            $ordinamento_prodotti=$ordinamento_prodotti[2][$key];
    	                            }
                            }
    }
    Il problema è nell'ultimo foreach mi da errore.

    Dove sto sbagliando?

    Grazie,
    Alessandro

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    foreach($ordinamento_prodotti [0] as $key=>$ordinamento_prodotti )

    La variabile array($ordinamento_prodotti) e la variabile contenente il valore all'indice($key) ciclato($ordinamento_prodotti) hanno lo stesso nome.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2001
    residenza
    rimini, san marino
    Messaggi
    934
    Grazie dell'aiuto.

    Volevo usare questo metodo anche per fare un carrello. è corretto?

    Grazie,
    Ale

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    residenza
    rimini, san marino
    Messaggi
    934
    Però ancora non funziona.

    Ecco il codice completo:


    codice:
    if (!$primo_parametro and !$secondo_parametro)	{
    
    		print("<form action=ordinamento.php method=post>
                    Inserisci il paramentro 1 <input name=primo_parametro type=text>
    
    
    		        Inserisci il paramentro 2 <input name=secondo_parametro type=text>
    
    
                    <input type=submit value=cerca>
            		");
    		}
    else	{
    		print("<form action=ordinamento.php method=post>
            		<input type=hidden name=azione value=update>
    				");
    
    $connessione = mysql_connect ($host , $user, $password);
    
    $connessione = mysql_connect ($host , $user, $password);
    
    $query_categorie = "select products.products_id,products.products_model, products.ordinamento from ecommerce.products where products.products_id < $secondo_parametro and products.products_id > $primo_parametro";
    
    $risultato_query = mysql_db_query ($database_ecommerce, $query_categorie , $connessione);
    
    			while ($row = mysql_fetch_array($risultato_query)) {
             				  $a++;
    						  echo $row[products_id];
       						  echo $row[products_model];
    						  echo $row[ordinamento] . "
    ";
                              $ordinamento_prodotti=array(
                                                array($a),
                                                array($row[products_id]),
                              					array($row[ordinamento])
                                                );
                              }
    	        mysql_close ($connessione);
    			print("<input type=hidden name=ordinamento_prodotti value=$ordinamento_prodotti>");
                print("<input type=hidden name=a value=$a>");
                print("<input type=submit value=aggiorna>");
                print("</form>");
    
    }
    
    if ($azione=="update")	{
    	if($ordinamento_prodotti)	{
        					print("
    esiste
    ");
    
    	                    foreach($ordinamento_prodotti[0] as $key=>$ordinamento_prodotti_1)
    	                            {
    	                            echo $conteggio=$ordinamento_prodotti[1][$key];
    	                            echo $id=$ordinamento_prodotti[2][$key];
    	                            echo $ordine_prodotti=$ordinamento_prodotti[3][$key];
    	                            }
                            }
    }
    Continua a darmi errore nella parte foreach!

    Help!

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Ma dire che errore ti dà fa schifo?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2001
    residenza
    rimini, san marino
    Messaggi
    934
    Calmati!

    Warning: Invalid argument supplied for foreach() in /srv/www/areariservata/htdocs/preventivi/ordinamento.php on line 57

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Significa che $ordinamento_prodotti[0] non è un array.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2001
    residenza
    rimini, san marino
    Messaggi
    934
    E' un array definito qualche riga + in su. guarda nel codice.

    Voglio dire, sennò come faccio ad aggiornare contemporaneamente(come ad esempio si fa in un carrello) diversi articoli?

  9. #9
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Se ti dà quell'errore significa che quel dato non è un array.
    Il codice l'ho già guardato, e non ho la minima idea di cosa tu stia cercando di fare. Ci sono una quantità di cose incomprensibili:
    - definisci un array con tre array di un solo elemento ciascuno
    - pretendi di stampare quell'array sull'html (otterrai la stringa 'Array')
    - referenzi 4 indici dell'array dopo avergli dato solo 3 elementi

    Sono solo le prime che mi saltano all'occhio.

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.