IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Enregistrement de la 1ere ligne du tableau uniquement


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 26
    Par défaut Enregistrement de la 1ere ligne du tableau uniquement
    Bonjour tout le monde, voila ça fait plusieurs fois que je poste la même question sans vraiment avoir de réponses concrètes, malheureusement je suis en stage et je finis vendredi et sans ça je ne peux pas finir mon projet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	function modifier_produit_prestashop($key){
    		$sql3 =  mysql_query("SELECT id_product FROM ps_product LIMIT 7");
    		print_r($sql3);
    		$r = mysql_fetch_array($sql3);
    		print_r($r);
    			foreach($r as $key2){
    				print_r($key2);
    				$sql5 = mysql_query("update ps_product set price = '".$key."' where id_product = '$key2'");	
    			}
    	}
    Je dispose d'une fonction donnée si dessus en premier je fais un select qui est censé me récupérer 7 id. Je les stocke dans un tableau avec un mysql_fetch_array ensuite je parcours ce tableau et pour chaque valeur contenue je fais un update en fonction de ce que j'ai récupéré, seulement quand je lance ma requête il ne prend que la première valeur et ne modifie que celle là avec la dernière valeur de mon array définit comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $output3 = str_replace(",", ".", $output3);
    	$output3 = str_replace("€", "", $output3);
    	$output3 = array_filter($output3);
    	var_dump($output3);
    	array_walk($output3, 'modifier_produit_prestashop');
    Pour simplifier ma requête fais ceci :

    $sql3 sélectionne 1,2,3,4,5,6,7
    mon $output3 contient toto, titi, tata, tutu, toutou, trutru, troutrou, tratra
    $sql5 update en faisant 1, tratra au lieu de faire:

    1 => toto
    2 => titi
    3 => tata
    etc... (Je précise que les nom tata, titi vont venir modifier un champ dans ma bd, en fonction du numéro)

    Pourquoi il se passe ceci quelle erreur j'ai commis pour arriver à ce résultat?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Par défaut
    remplace ton foreach($r as $key2) par

    while($key2 = mysql_fetch_array($sql3))

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function modifier_produit_prestashop($key){
    		$sql3 =  mysql_query("SELECT id_product FROM ps_product LIMIT 7");
    		print_r($sql3);
    		$r = mysql_fetch_array($sql3);
    		print_r($r);
    			while($key2 = mysql_fetch_array($sql3)){
    				print_r($key2);
    				$sql5 = mysql_query("update ps_product set price = '".$key."' where id_product = '".$key2[0]."'");	
    			}
    	}

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 26
    Par défaut POURQUOI CELA NE FONCTIONNE PAS!
    Tout d'abord merci de m'avoir répondu, ensuite j'ai fait comme tu m'as dis donc il modifie bien en fonction de ce que je récupère mais il ne prend que la dernière données de mon tableau, tu saurais pourquoi cela fait ça?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Par défaut
    essai donc ce code et puis dis moi ce que tu as comme résultats dans ta base et à l'ecran :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function modifier_produit_prestashop($key){
    		$sql3 =  mysql_query("SELECT id_product FROM ps_product LIMIT 7");
    		print_r($sql3);
    		$r = mysql_fetch_array($sql3);
    		//print_r($r);
    			while($key2 = mysql_fetch_array($sql3)){
    				echo $key2[0];
    				mysql_query("update ps_product set price = '".$key."' where id_product = '".$key2[0]."'");	
    			}
    	}

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 26
    Par défaut POURQUOI CELA NE FONCTIONNE PAS!
    J'obtiens ça sur mon écran = Resource id #14392393394395396397Resource id #15392393394395396397Resource id #16392393394395396397Resource id #17392393394395396397Resource id #18392393394395396397Resource id #19392393394395396397Resource id #20392393394395396397

    et dans ma base j'ai :

    0.000000
    1.650000
    1.650000
    1.650000
    1.650000
    1.650000
    1.650000

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Par défaut
    C'est bon donc?

    puisque le prix est mis à jour pour les 7 valeurs

Discussions similaires

  1. Réponses: 21
    Dernier message: 10/06/2010, 21h40
  2. Réponses: 3
    Dernier message: 22/03/2010, 21h20
  3. Faire disparaitre la 1ere ligne d'un tableau
    Par identifiant_bidon dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 06/08/2007, 14h59
  4. Renommer le titre de colonnes par la 1ere ligne
    Par Tche55 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 25/02/2004, 12h07
  5. Split et calcul de ligne du tableau
    Par La_picolle dans le forum ASP
    Réponses: 6
    Dernier message: 27/08/2003, 15h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo