Votre question

Verifier ce qui suit une variable php

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
9 Juin 2008 14:56:36

Bonjour,
Est-il possible de vérifier si une variable est suivie d'un retour a la ligne, car j'essaie d'enregistrer dans une base de donnée plusieur produit a la fois. Voila mon code:

  1. $ligne = ($_POST['champs']);
  2. while ("</br>")
  3. {
  4. $champs = explode(":", $ligne);
  5.  
  6. if (isset($_POST['champs']) and $_POST['champs'] != '')
  7. {
  8.  
  9. //Voir si le produit existe déjà
  10. $sql1 = mysql_query("SELECT id_prod FROM produits WHERE id_imgS = '".$champs[5]."'");
  11. if(mysql_fetch_row($sql1)!=NULL)
  12. {
  13. echo "Ce produits existe déjà, vérifié l'id de l'image du produit à inserer.</p>";
  14. echo"<input type=button value=\" Retour \" onclick=\"history.back()\">";
  15. }else{
  16. //Insertion ds la base
  17. $sq2 = mysql_query("INSERT INTO produits VALUES ('', '".$champs[0]."', '".$champs[1]."', '".$champs[2]."', '".$champs[3]."', '".$champs[4]."', '".$champs[5]."', '".$champs[6]."')")or die(mysql_error());
  18. echo "Félicitation, le produit a bien été ajouté à la base.</p>";
  19. echo"<input type=button value=\" Retour \" onclick=\"history.back()\">";
  20. }
  21.  
  22. }
  23. else
  24. {
  25. echo "Veuillez remplir le champs</p>";
  26. echo"<input type=button value=\" Retour \" onclick=\"history.back()\">";
  27. }
  28. }




Pour inserer 1 produit dans la base c'est bon mais dès que je retourne a la ligne pour en inserer un autre, sa bug.

Merci d'avance pour votre reponse

Autres pages sur : verifier suit variable php

9 Juin 2008 15:10:04

Ce que je ne comprends pas dans ton code c'est
Citation :
produits VALUES ('', '".$champs[0]."', '".$champs[1]."', '".$champs[2]."', '".$champs[3]."', '".$champs[4]."', '".$champs[5]."', '".$champs[6]."')" )or die(mysql_error());

de simple guillement sans les '.' suffise :
Citation :
produits VALUES ('', '$champs[0]', '$champs[1]', '$champs[2]', '$champs[3]', '$champs[4]', '$champs[5]', '$champs[6]')" )or die(mysql_error());


ps : pour le problème en lui même jene vois pas trop ce que tu veux dire
9 Juin 2008 15:16:22

Merci pour ta réponse. En ce qui concerne les guillemet, j'ai vu cette syntaxe sur internet, et je viens de tester que les guillemet et sa marche merci.
Pour mon problème, je souhaiterai insérer les produit dans la base de donnée grâce a un textarea. L'utilité de ceci est de pouvoir inserer plusieurs produit en même temps. ex:
id_prod, type, prix (et en retournant a la ligne, on insere un autre produit)
id_prod, type, prix
id_prod, type, prix
...

J'espère avoir été un peu plus clair :) 
Contenus similaires
9 Juin 2008 15:35:23

le texte area est une mauvaise idee car il faut definir sa taille , dire que tel ou tel ligne c'est pour tel ou tel champ etc ... et le lire ce qui constitue une boucle supplementaire etc ... enfin tres compliqué !

ce que je te conseil c'est un truc du genre :
un form avec 3 champs => id , type , prix et 3 bouton a la fin.
le premier avec enregistrer/ inserer nouveau : il enregistre les donnée que tu as mis dans le form ds ta bdd et renouvelle la page pour inserer d'autres données
le deuxieme avec enregistrer/ retour au menu : i lenregistre et retourne au menu ou a ton truc précédent ( ca dépend du href que tu met :p  )
le troisieme avec annuler/ retour au menu ( renvoi le mec au menu par exemple ou au truc précédent ( petit racourci ) )
9 Juin 2008 15:42:55

Je vois ce que tu veux dire mais la je suis en stage de 1ere année de BTS et on me demande justement de pouvoir insérer en masse, comme sa ils pourront insérer dans la base 10 équipement d'un coup par exemple.
J'ai utilisé le textarea mais je pensée peut-être le faire avec un formulaire qui contenait plusieurs ligne. Ainsi dans chaque ligne, on pouvait avoir l'ID, le type...
9 Juin 2008 16:03:50

moi aussi je suis en stage d'ou mon pseudo :p 
9 Juin 2008 16:06:06

pour voir l'id il faut mettre le formulaire en GET et pas POST si mes souvenirs sont bons ( ou l'inverse si mes souvenirs sont pas bons ). Maintenant moi j'ai pu vu en détail cette année ( ma premiere année de bts IG option reseau ) pour un textarea juste le theorique ( meme pas vu le pratique d utout ^^ ).
9 Juin 2008 16:35:55

eh ben bon courage cher collègue moi aussi je fais BTS IG option réseau :D .
C'est bon j'ai trouver regarde le code:

  1. $ligne = explode ("\n",$_POST['champs']);
  2.  
  3. $i = 0;
  4. while ($ligne[$i])
  5. {
  6. $champs = explode (":",$ligne[$i]);
  7. // Insertion des donnée tant que le $ligne est respecté
  8. // C'est la que je met mon code de INSERT INTO
  9. $i++;
  10. }
  11. echo"<input type=button value=\"Retour\" onclick=\"history.back()\">";


En fait, j'explose le textarea pour avoir plusieurs lignes. Je met ceci dans une boucle pour qu'à chaque fois qu'il y ai un retour à la ligne le traitement ce fasse.
Ensuite j'explose chaque ligne pour séparer les variable par ":"
Si ta pas compris je ré-expliquerai :) .

ps: Allez, plus que 3 semaines à tirer :p 
10 Juin 2008 09:37:57

héhé sangoku c'est bon j'ai capté ton code ^^ ouai plus que 3 semaines a tirer :p 
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS