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 :

Erreur programme


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 157
    Points : 80
    Points
    80
    Par défaut Erreur programme
    j'ai un problème avec le traitement (php-mysql) d'un formulaire en ligne.

    Quand je lance un programme (script php) pour démarrer un traitement des fiches enregistrés (mysql) je reçoit un message d'erreur. Ce message d'erreur apparaît quand il y à qu'un seul nouveau enregistrement dans la base de donées. A partir du moment ou il y en à plusieurs enregistrements tout va bien et le message d'erreur n'apparraît pas !

    Le message d'erreur est le suivant :
    Warning: Invalid argument supplied for foreach() in /chemin_de_access/traitement;php on line ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
     
    include("inc/db.conf.inc.php");
    include("inc/class.MySQL_Abstractor.inc.php");
    include("inc/class.MimeMail.inc.php");
     
    srand(time());
     
    $db = new MySQL_Abstractor();
    $db->set_params($db_host, $db_user, $db_pass, $db_base);
    $db->connect();
    $db->set_table("inscriptions");
     
    $today = date("Y-m-d");
     
    // J'ai tout listé comme ca a la barbare pour pouvoir changer les intulés des revenus_net_2003 pour la personne et le coemprunteur...
    // C'est la maniere la plus sure et la plus rapide pour faire les modifs...
    $champs  = "id_inscription, date_inscription, livraison_client, date_livraison, civilite, nom, prenom, nom_jf, ";
    $champs .= "adresse, code_postal, ville, telephone, portable, email, logement, date_naissance, lieu_naissance, ";
    $champs .= "situation_familiale, age_enfant_1, age_enfant_2, age_enfant_3, age_enfant_4, age_enfant_5, ";
    $champs .= "problemes_bancaires, profession, anciennete, revenus_net_2003 as revenus_net_2004, ";
    $champs .= "revenus_fonciers, pension_alimentaire, allocations_familiales, coemprunteur, civilite_coemprunteur, ";
    $champs .= "nom_coemprunteur, prenom_coemprunteur, nom_jf_coemprunteur, adresse_coemprunteur, code_postal_coemprunteur, ";
    $champs .= "ville_coemprunteur, telephone_coemprunteur, portable_coemprunteur, email_coemprunteur, date_naissance_coemprunteur, ";
    $champs .= "lieu_naissance_coemprunteur, situation_familiale_coemprunteur, age_enfant_1_coemprunteur, ";
    $champs .= "age_enfant_2_coemprunteur, age_enfant_3_coemprunteur, age_enfant_4_coemprunteur, age_enfant_5_coemprunteur, ";
    $champs .= "problemes_bancaires_coemprunteur, profession_coemprunteur, anciennete_coemprunteur,  ";
    $champs .= "revenus_net_2003_coemprunteur as revenus_net_2004_coemprunteur, revenus_fonciers_coemprunteur, ";
    $champs .= "pension_alimentaire_coemprunteur, allocations_familiales_coemprunteur, date_logement, valeur_immo, ";
    $champs .= "mensualites_pret_immo, capital_restant_prets_immo, pret_taux0, mensualites_credit_conso, ";
    $champs .= "capital_restant_prets_conso_dettes, pension_alimentaire_versee, montant_souhaite, loyer_CC, ";
    $champs .= "commentaires, provenance";
     
    $liste = $db->get_value(
    	$champs, "`date_livraison` = '0000-00-00' AND `date_inscription` = '$today'" // pas encore livrees
    );
     
     
    if (count($liste) <= 1) {
    	exit();
    }
     
    //$cols = array_keys($liste[0]);
    $cols = array();
    echo "Debug 2 Dieter  - cols: " .$cols ."\r\n" ."<BR>";
     
    foreach ($liste[0] as $k => $v) {
    	if ($k != "id_inscription"/* && $k != "provenance"*/ && $k != "livraison_client" && $k != "date_livraison") {
    		$cols[] = $k;
    	}
    }
    Le programe plante à la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    foreach ($liste[0] as $k => $v) {
    Ou est l'erreur?

    Merci d'avance pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut


    ben... y a quoi dans $liste[0] ? tu dois lui passer un tableau... moi j'ai l'impression que ton tableau c'est $liste, et non pas $liste[0], je me trompe :

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 157
    Points : 80
    Points
    80
    Par défaut
    Salut torvalds17,

    J'en sais rien ... je ne connais pas trop php et c'est pas moi qui à écrit le script .

  4. #4
    Invité
    Invité(e)
    Par défaut
    ben fais un pour voir si c'est bien un tableau...

    sinon essaye de remplacer $liste[0] par $liste dans ton appel à foreach(), car ça au moins on est sûr que c'est un tableau ;-)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 157
    Points : 80
    Points
    80
    Par défaut
    Et voila le contenu ... d"une fiche client. Remarque : Comment ont peut constater tous les champs de la table ne sont pas renseigne.


    • Array ( [id_inscription] => 25089 [date_inscription] => 2006-01-14 [livraison_client] => 0 [date_livraison] => 0000-00-00 [civilite] => Mr [nom] => test [prenom] => test [nom_jf] => [adresse] => rue [code_postal] => 33000 [ville] => Ville [telephone] => 0505050505 [portable] => [email] => info@monmail.com [logement] => Propriétaire [date_naissance] => 1966-06-02 [lieu_naissance] => [situation_familiale] => [age_enfant_1] => [age_enfant_2] => [age_enfant_3] => [age_enfant_4] => [age_enfant_5] => [problemes_bancaires] => [profession] => Artisan, commerçant [anciennete] => [revenus_net_2004] => 55555 [revenus_fonciers] => [pension_alimentaire] => [allocations_familiales] => [coemprunteur] => non [civilite_coemprunteur] => [nom_coemprunteur] => [prenom_coemprunteur] => [nom_jf_coemprunteur] => [adresse_coemprunteur] => [code_postal_coemprunteur] => [ville_coemprunteur] => [telephone_coemprunteur] => [portable_coemprunteur] => [email_coemprunteur] => [date_naissance_coemprunteur] => 0000-00-00 [lieu_naissance_coemprunteur] => [situation_familiale_coemprunteur] => [age_enfant_1_coemprunteur] => [age_enfant_2_coemprunteur] => [age_enfant_3_coemprunteur] => [age_enfant_4_coemprunteur] => [age_enfant_5_coemprunteur] => [problemes_bancaires_coemprunteur] => [profession_coemprunteur] => [anciennete_coemprunteur] => [revenus_net_2004_coemprunteur] => [revenus_fonciers_coemprunteur] => [pension_alimentaire_coemprunteur] => [allocations_familiales_coemprunteur] => [date_logement] => 0000-00-00 [valeur_immo] => [mensualites_pret_immo] => 555 [capital_restant_prets_immo] => 555 [pret_taux0] => [mensualites_credit_conso] => 555 [capital_restant_prets_conso_dettes] => 555 [pension_alimentaire_versee] => [montant_souhaite] => [loyer_CC] => [commentaires] => [provenance] => )


    Petite précision : Comme indique dans mon premier message .... le script fontionne bien quand il y à au moins deux nouveau enregistrements dans la base de données.

    Quand il y à qu'un registrement on dirait que ne routourne aucune valeur????

Discussions similaires

  1. [Win2000] Erreur programme SVCHOST.EXE en faisant Windows Update
    Par annedeblois dans le forum Windows 2000/Me/98/95
    Réponses: 0
    Dernier message: 11/10/2007, 21h53
  2. Erreur programme en C
    Par Vestigo dans le forum Débuter
    Réponses: 12
    Dernier message: 03/09/2007, 20h52
  3. Erreur programme d'envoi fichier sur serveur ftp
    Par batssa dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2007, 14h30
  4. ERREUR : programme d'installation
    Par shamima-woop dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 05/07/2007, 17h27
  5. Erreur Programmes!!! (ebesoin d'aide)
    Par charfamine dans le forum MFC
    Réponses: 6
    Dernier message: 08/04/2006, 13h16

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