passer un id via un nom choisi

Eléphant du PHP | 187 Messages

05 déc. 2011, 14:28

salut ,
j'ai un souci là..
j'ai un formulaire où il faut enregistrer le nom+prénom des clients..c'est simple!
mais il faut en parallèle que je passe la valeur de son ID à la table! :shock:
j'ai suivi une méthode complexe est longue enfin de compte c'était un mauvais choix:
j'ai importé les nom+prenom+id des clients et je les enregistrer dans un tableau comme ceci:
<select name="nom[]" id="nom"  multiple size ="15" >
            <option value="" selected >Selectionnez : </option>
            <?php
$respo = mysql_query("SELECT * FROM partenaire ORDER BY nom ASC");
while($affiche_respo= mysql_fetch_array($respo)){
   echo '<option value="'.$affiche_respo['nom'].' '.$affiche_respo['prenom'].' ('.$affiche_respo['id'].')  ">'.$affiche_respo['nom'].' '.$affiche_respo['prenom'].' ('.$affiche_respo['id'].') </option>';
}
?>
          </select>
Après j'ai utilisé la méthode EXPLODE pour séparer entre les varchar cad entre le nom,prenom et le ID afin de l'enregistrer tout seul dans un champ:

Code : Tout sélectionner

//$nom: nom du tableau en haut $nom = $_POST['nom']; $nom_text = implode(',',$nom); $nb=sizeof($nom); $i=0; for($i=0;$i<$nb;$i++){ $m = explode ('(' ,$nom[$i]); $m1 = $m[1] ; $m2 = explode (')' , $m1 ); $m3 = trim($m2[0]); //m3 c'est le id
Résultat:les id ne passent plus à la table.car la format des clients se changent;cad je peux avoir un client sous format de (c/s xxx xxx)xxx xxx,et une autre sous format de xxx xxx xxx..alors le explode puisque c’était déterminatif avec les espace,()..donc ça pas marché.
Alors je cherche maintenant une solution pour enregistrer calmement l'id de chaque client choisi.
désolé pour ce long statut que j’espère assez claire .
merci pour toute idée et surtout n'hésitez pas ^^

ViPHP
xTG
ViPHP | 7331 Messages

05 déc. 2011, 15:31

car la format des clients se changent
Et c'est censé être changé tous les combien du mois ?
Je ne comprends pas qu'un format qui est statique dans ton code puisse changer ainsi.
Si on change le format d'affichage, on change aussi le format d'interprétation sinon cela n'a aucun sens.

Eléphant du PHP | 187 Messages

05 déc. 2011, 16:34

oui,mais on s’en fou.ce qui est essentiel pour moi c'est récupérer l'id qui est entre() et l'enregistrer!!

ViPHP
xTG
ViPHP | 7331 Messages

05 déc. 2011, 16:49

Bon restons calme et résumons la situation...
Tu avais des clients sous la forme (x) x x et maintenant x x (x).
Ou bien tu as des scripts qui utilisent la première forme et d'autre la seconde ?

Eléphant du PHP | 187 Messages

05 déc. 2011, 17:16

Merci xTG ;)
alors j'ai réglé le problème en changeant les () du id par des []
comme ça le code fait la désignation des id et le prends et s’en fou au format du reste..
c'est logique d'abord ma solution??? de tout façon ça marche pour le moment ^^