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

    scrivere array in una tabella

    miao
    qualcuno sa come si fa?

    io x adesso ho scritto questo codice:

    codice:
    ...
    for ( $i = 0; $i < $numeropostazioni; $i++) 
    	{
    	mysql_query("UPDATE $table4 SET nome = '$nomepostazione[$i]' "); 
    	}
    ...

    dove table4 è il nome della tabella...

    e i valori di $nomeprostazioni[$i] li prende da un form così scritto:

    codice:
    ...
    for ( $i = 0; $i < $numeropostazioni; $i++) 
    	 {?>
    		Nome Postazione <?echo $i+1;?>: 
    		<input size="15" name=<?echo $nomepostazione[$i];?> type="text" value=<?echo $nomepostazione[$i];?>>
    
    	 <?}?>
    ...
    ps
    ovviamente non conosco quanti possono essere i valori inseriti dentro l'array.... potrebbero essere 1 come 100.....
    Lunga Vita e prosperità!
    Foto e video di Adriana Lima-->http://www.nasosan.it

  2. #2
    utilizza serialize() per inserire e unserialize() per estrarre.

    http://it.php.net/manual/it/function.serialize.php
    http://it.php.net/manual/it/function.unserialize.php

    ho preso spunto dal titolo. Ma non sono sicuro sia quello che cerchi tu.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Originariamente inviato da piero.mac
    utilizza serialize() per inserire e unserialize() per estrarre.

    http://it.php.net/manual/it/function.serialize.php
    http://it.php.net/manual/it/function.unserialize.php

    ho preso spunto dal titolo. Ma non sono sicuro sia quello che cerchi tu.
    stò provando.. ma non riesco a capire come funzioni... mi restituisce sempre

    N;


    :'(
    Lunga Vita e prosperità!
    Foto e video di Adriana Lima-->http://www.nasosan.it

  4. #4
    Originariamente inviato da nasosansoft
    stò provando.. ma non riesco a capire come funzioni... mi restituisce sempre

    N;
    :'(
    non si capisce cosa trasferisci nel form con $nomepostazione[$i]

    anche l'update che fai... sovrascrive sempre tutti i record....

    per questo ho detto che non sono sicuro di aver capito.... stampa $_POST per vedere cosa e come trasferisci i dati del form.

    print_r($_POST);

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Originariamente inviato da piero.mac
    non si capisce cosa trasferisci nel form con $nomepostazione[$i]

    anche l'update che fai... sovrascrive sempre tutti i record....

    per questo ho detto che non sono sicuro di aver capito.... stampa $_POST per vedere cosa e come trasferisci i dati del form.

    print_r($_POST);
    allora
    io ho questa pagina che presenta dei valori presi da un database sottoforma di form, che l'utente può modificare o meno...
    codice:
    <form method=post action="scriviparametri.php">
    	Indirizzo server Phpmyadmin: <input size="50" name="phpmyadminserver" type="text" value=<?echo $phpmyadminserver;?>>
    
    	Indirizzo Logproxy server: <input size="50" name="logproxy" type="text" value=<?echo $logproxy;?>>
    
    	Parola d'ordine segreta Per accesso: <input size="50" name="psw" type="text" value=<?echo $psw;?>>
    
    	Data di inizio attività internetpoint per statistiche: <input size="10" name="iniziostatistiche" type="text" value=<?echo $iniziostatistiche;?>>
    
    	Quantità di postazioni presenti: <input size="2" name="numeropostazioni" type="text" value=<?echo $numeropostazioni;?>>
    
    	<u>Prima di cambiare i nomi o aggiungerne, dovete tornare alla pagina precedente e poi di nuovo quì.</u>
    
    
    <?
    for ( $i = 0; $i < $numeropostazioni; $i++) 
    	 {?>
    		Nome Postazione <?echo $i+1;?>: 
    		<input size="15" name="nomepostazione[i]" type="text" value=<?=$nomepostazione[$i]?>>
    
    	 <?}?>
    	<input type=submit value="Salva Parametri prg">
    </form>
    dove appunto $nomepostazione[$i] è il dato preso dal database, che funziona.. risulta scritto dentro il form...

    poi passo a questa pagina, dove dovrebbe leggere i dati del form (cosa che fa per la prima parte) ma non per la seconda che è quella che riguarda $nomepostazione
    codice:
    for ( $i = 0; $i < $numeropostazioni; $i++) 
    	{
    		mysql_query("UPDATE $table4 SET nome = '$nomepostazione'"); 
    
    	}
    sia come scritto nel pirmo post o come è scritto ora non passa nulla.. ($nomepostazione xchè x gli altri valori li passa tutti esatti)
    Lunga Vita e prosperità!
    Foto e video di Adriana Lima-->http://www.nasosan.it

  6. #6
    dovresti usare il tag php esteso e non lo short tag. Questo a prescindere. Non e' la causa (forse) del problema.

    Devi vedere cosa ti stampa $_POST.... solo da quello puoi capire se e come/cosa valorizzi le tue variabili. Non lo metto in dubbio che i dati ci siano... ma cosa e come non e' dato a sapere.

    per esempio questo che sarebbe?

    name="nomepostazione[i]"

    i dati che passi li trovi in $_POST['tuo_indice']

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Originariamente inviato da piero.mac
    dovresti usare il tag php esteso e non lo short tag. Questo a prescindere. Non e' la causa (forse) del problema.

    Devi vedere cosa ti stampa $_POST.... solo da quello puoi capire se e come/cosa valorizzi le tue variabili. Non lo metto in dubbio che i dati ci siano... ma cosa e come non e' dato a sapere.

    per esempio questo che sarebbe?

    name="nomepostazione[i]"
    è il nome del imput del form...

    i dati che passi li trovi in $_POST['tuo_indice']
    tu non hai un esempio di come passare dati da un form (ovviamente non fisso.. ma con campi variabili) a un file php?



    ps
    forse sono riscuito a passare i dati
    codice:
    ....
    for ( $i = 0; $i < $numeropostazioni; $i++) 
    	 {?>
    		Nome Postazione <?echo $i+1;?>: 
    		<input size="15" name="nomepostazione1[]" type="text" value=<?=$nomepostazione[$i]?>>
    
    	 <?}?>
    	<input type=submit value="Salva Parametri prg">
    ...
    e nell'altro file
    codice:
    for ($i=0;$i<$numeropostazioni;$i++){
    	mysql_query("UPDATE $table4 SET nome = '$nomepostazione1[$i]'"); 
    }
    solo che ora non mi scrive nel database i valori.. solo l'ultimo..
    e se al posto di $i metto 0 o 1 o 2 mi memorizza i valori corretti.. ma come faccio a inserirli tutti? sempre senza sapere quanti possono essere...


    ennesimo ps
    ho risolto aggiungendo anche un campo id nella tabella
    codice:
    for ($i=0;$i<$numeropostazioni;$i++){
    	mysql_query("UPDATE $table4 SET nome = '$nomepostazione1[$i]' where id='$i'"); 
    }
    grazie a tutti...
    ora devo vedere come fare se il record non esiste.. me lo aggiunge automaticamente?
    Lunga Vita e prosperità!
    Foto e video di Adriana Lima-->http://www.nasosan.it

  8. #8
    ma ti viene troppo difficile stampare $_POST ad inizio pagina di scriviparametri.php ????

    per passare un array devi fare un array tutto qui. tu passi un valore e non un array.

    quello che ho citato non e' il nome del form ma un errore. Per passare un valore con lo stesso nome perche' non sia sovrascritto si usa un array.

    es:

    codice:
    <input size="15" name="nomepostazione[$i]" type="text" 
    value = "<?php echo $nomepostazione[$i] ?>" >
    troverai il dato in:

    $_POST['nomepostazione'][nn] // dove nn e' il numero che hai messo con il ciclo for.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.