2010-12-08 30 views
0

J'envoie les résultats d'une boucle par la poste à un fichier php pour le traitement (insertion dans db). Mais je ne suis pas sûr de savoir comment obtenir les résultats de la manière la plus efficace. maintenant c'est soit 1. mise à jour $ _POST ['nom-id'] et $ _POST ['occupation-id] ou 2. créer $ _POST [' nouveau_nom- # '] et $ _POST [' new_occupation- # ] avec une variable commençant à 1 et comptant.

Je suis coincé sur un moyen efficace de tirer toutes les données sur et le transférer aux variables + comment séparer les noms des nouveaux noms

dans le document php un il y a essentiellement une table de la colonne 2 sous une forme c'est la méthode post et sur submit va à l'autre fichier php. le code est un peu alambiquée si voulait retarder le mettre tout »

while ($tracks = mysql_fetch_array($trackstring)){ 
    echo "<li class=\"tracklist\"><input type=\"text\" name=\"tracknum-".$tracks['song_id']."\" id=\"tracknum-".$tracks['song_id']."\" value=\"".$tracks['song_tracknumber']."\"/> 
    <input type=\"text\" name=\"trackname-".$tracks['song_id']."\" id=\"trackname-".$tracks['song_id']."\" value=\"".$tracks['song_title']."\"/></li>"; 
    } 

for ($i = 0; $i < ((mysql_num_rows($trackstring) < 1) ? 20 : 5); $i++){ 
//for($i=1; $i< $numtracks; $i++){ 
    $count++; 
     echo "<li class=\"tracklist\"><input type=\"text\" name=\"newtracknum-".$count."\" id=\"newtracknum-".$count."\" value=\"\"/><input type=\"text\" name=\"newtrackname-".$count."\" id=\"newtrackname=".$count."\" value=\"\"/></li>"; 
     } 

et je dois tirer que dans l'autre fichier php et le tri afin que je puisse prendre le trackname- # et tracknumber- # dans la valeur pour mettre à jour l'id # de la base de données J'ai l'impression que je pourrais le faire fonctionner en passant des choses invisibles dans le tableau

+0

Je n'ai pas vers le bas-vote cette question - en fait, j'enlevé le bas-voix, mais la question ne semble pas claire. Pourriez-vous fournir plus de détails? – karim79

+0

Qu'est-ce que le global $ _POST' a à voir avec * envoyer * des données par POST? '$ _POST' est pour les données POST entrantes et vous ne les modifiez généralement pas. S'il vous plaît fournir un exemple. – Hamish

+0

Je suppose que je n'arrive pas à comprendre ce qui se passe et ça m'empêche d'être clair. J'ai essayé d'éditer le commentaire initial cependant. – Damon

Répondre

2

Chaque boucle d'itération fait une entrée séparée (par exemple une nouvelle curl_exec () Dans ce cas, chaque demande sera indépendante de toutes les autres et vous pourrez simplement réutiliser les mêmes noms de champs pour chacun d'entre eux

Si c'est tout Dans une requête, utilisez une sorte de fonctionnalité de PHP et forcez-la à créer un tableau à partir des données de publication. Si vous ajoutez [] à la fin d'un nom de champ, PHP traitera ce champ comme un tableau et sauvegardera les données en tant que telles pendant le traitement du message.

.: par exemple

<input type="text" name="arr[]" value="hi" /> 
<input type="text" name="arr[]" value="there" /> 

lors d'un traitement par PHP entraînera:

$_POST = array(
    'arr' => array(
     0 => 'hi', 
     1 => 'there' 
    ) 
) 

Vous pouvez même forcer si vous le indices choisir, il suffit de les mettre à l'intérieur du [], par exemple name="arr[12]" et name="arr[42]" vous donnera

$_POST = array(
    'arr' => array(
     12 => 'hi', 
     42 => 'there' 
    ) 
) 
+0

c'est vraiment utile et clair. Merci :) – Damon