Jump to content

Mise en forme requête SQL


Recommended Posts

Bonjour à tous,

J'ai un problème de traitement de requête que je ne sais comment résoudre.

Voilà la requête :

$liv = mysql_query("SELECT * FROM bon_livraison");



Voilà le traitement :

foreach($liv as $item)
{
   $livNew.="(". $item['id'].",".$item['liv_adresse'].",".$item['liv_code_postal'].",".$item['liv_pays'].",".$item['liv_ville'].",".$item['adresse'].","
           .$item['code_postal'].",".$item['pays'].",".$item['ville'].",".$item['autre_frais'].",".$item['date'].",".$item['employe'].",".$item['frais_port'].","
           .$item['info'].",".$item['informations'].",".$item['nb_colis'].",".$item['net_payer'].",".$item['poids'].",".$item['portable'].",".$item['precedent'].","
           .$item['raison_sociale'].",".$item['remise_globale_ht'].",".$item['solde'].",".$item['suivant'].",".$item['taxe_eco'].",".$item['telephone'].","
           .$item['total_tva'].",".$item['tva'].",".$item['type_ht'].",".$item['bon_livraison'].",".$item['id_client'].",".$item['volume'].",".$item['commande_client'].","
           .$item['escompte'].",".$item['reservation'].",".$item['marge_ht'].",".$item['current_user_piece'].",".$item['total_taxes'].")," ;
}



Le problème c'est qu'ici, mon résultat de requête est vide, et donc le foreach renvoie une erreur, alors que quand je la fais directement sur la base, j'ai tout les résultats.

J'ai essayé en version :

for ($i = 0; $i{
$livNew.="(". $liv[$i]['id'].",".$liv[$i]['liv_adresse'].",".$liv[$i]['liv_code_postal'].",".$liv[$i]['liv_pays'].",".$liv[$i]['liv_ville'].",".$liv[$i]['adresse'].","
           .$liv[$i]['code_postal'].",".$liv[$i]['pays'].",".$liv[$i]['ville'].",".$liv[$i]['autre_frais'].",".$liv[$i]['date'].",".$liv[$i]['employe'].",".$liv[$i]['frais_port'].","
           .$liv[$i]['info'].",".$liv[$i]['informations'].",".$liv[$i]['nb_colis'].",".$liv[$i]['net_payer'].",".$liv[$i]['poids'].",".$liv[$i]['portable'].",".$liv[$i]['precedent'].","
           .$liv[$i]['raison_sociale'].",".$liv[$i]['remise_globale_ht'].",".$liv[$i]['solde'].",".$liv[$i]['suivant'].",".$liv[$i]['taxe_eco'].",".$liv[$i]['telephone'].","
           .$liv[$i]['total_tva'].",".$liv[$i]['tva'].",".$liv[$i]['type_ht'].",".$liv[$i]['bon_livraison'].",".$liv[$i]['id_client'].",".$liv[$i]['volume'].",".$liv[$i]['commande_client'].","
           .$liv[$i]['escompte'].",".$liv[$i]['reservation'].",".$liv[$i]['marge_ht'].",".$liv[$i]['current_user_piece'].",".$liv[$i]['total_taxes'].")," ;
}



et avec celle là, quand j'affiche la requête, j'ai un résultat du style "INSERT INTO bon_livraison VALUES (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)etc....

auriez vous une idée du problème ?

merci d'avance,

Doug

Link to comment
Share on other sites

Bonjour,

Je ne pense pas que cela soit un problème concernant PrestaShop (sinon vous utiliseriez les Db::getInstance() :)) mais plus un soucis PHP / MySQL, je vous invite donc à visiter les sites suivants :
http://www.phpdebutant.org/
http://www.siteduzero.com/tutoriel-3-14668-concevez-votre-site-web-avec-php-et-mysql.html
Et surtout : http://php.net/manual/en/function.mysql-fetch-array.php

Ps : Je pencherai pour le fait que $liv est le result de votre mysql_query et qu'il vous manque un mysql_fetch_array (ou mysql_fetch_row)
Il faudrait aussi que vous placiez des quotes de chaque côté de vos valeurs '".$myValue."'

Link to comment
Share on other sites

Bonjour,

Tout simplement parce que j'extrait des données sur une base qui n'est pas celle de Prestashop, pour les insérer ensuite sur celle de Prestashop...

Et sinon, c'est bon, j'ai tout fait en mysql, sans passer par cette bouse de forme de requête :).

Merci bien à vous,

Doug

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...