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 :

Foreach query [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Invité
    Invité(e)
    Par défaut Foreach query
    Bonjour je souhaite j'ai une erreur a la ligne comprenant l'instruction foreach et après avoir cherché sur de nombreux forum je ne comprend pas cette erreur (l''erreur dit ligne 27 mais c'est parce que ce n'est qu'un morceau de code):
    "( ! ) Parse error: syntax error, unexpected 'foreach' (T_FOREACH) in C:\wamp\www\PHP\Acceuil.php on line 27"
    Voici mon code :
    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
    <?php
    					$user = 'root';
    					$pass = '';
    					$bdd = new PDO('mysql:host=localhost; dbname=skillsend', $user, $pass);
     
    					$affichage = 'SELECT * from skillsend'
     
    					foreach($bdd->query($affichage) as $text){
     
    					}
     
    				function annoce($text){
    					echo'<div><?php
    							echo "titre : " . $text["titre"];
    							echo "déscription : " . $text["description"];
    							echo "propriétaire : " . $text["proprietaire"];
    							echo "date : " . $text["date"];
    						?><div/>'
    				}
    				?>
    Merci pour votre réponse, j'aimerais si possible la solution et l’explication.
    Dernière modification par rawsrc ; 09/02/2020 à 20h48. Motif: Balises [quote][/quote] pour les messages d'erreur

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Donc il n'y a rien dans votre foreach, vous boucler dans le vide

    ensuite votre function anoce ou annonce peut-être, retourne un grand n'importe quoi, du php dans du html dans du php, il faut rester cohérent

    un truc du genre, même si je trouve pas beau toujours.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function annoce($text)
        {
            echo '<div>
                         titre :  '. $text["titre"]
                        .'déscription : '. $text["description"]
                        .'propriétaire : '. $text["proprietaire"]
                        .'date : ' . $text["date"]
                .'<div/>';
        }

  3. #3
    Invité
    Invité(e)
    Par défaut Merci mais
    Merci pour la fonction (je suis un grand débutant en php) mais je ne sais pas quoi mettre dans le foreach et il me dit qu'il y a une erreur dans la ligne du foreach et non dans le fait qu'il tourne dans le vide.

    Merci si possible de donner une solution

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    il manque un ; à la ligne précédente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    					$affichage = 'SELECT * from skillsend'

  5. #5
    Invité
    Invité(e)
    Par défaut Function probleme incompréenssible
    Bonjour j'ai l'erreur si présente :
    Warning: Invalid argument supplied for foreach() in C:\wamp\www\PHP\Acceuil.php on line 27
    (ma ligne 27 correspond a la ligne 18 dans le morceau de code si dessous)mais ma page s'affiche bien en fond.

    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
    <?php
    					$user = 'root';
    					$pass = '';
    					$bdd = new PDO('mysql:host=localhost; dbname=skillsend', $user, $pass);
     
    					$affichage = 'SELECT * from skillsend';
     
    					foreach($bdd->query($affichage) as $text){
     
    					}
     
    				function annonce($text){
    					echo'<div>
    							echo "titre : " . $text["titre"]
    							echo "déscription : " . $text["description"]
    							echo "propriétaire : " . $text["proprietaire"]
    							echo "date : " . $text["date"]
    						<div/>';}
    				?>
    Merci si possible j'aimerais les explications avec la réponse.
    Dernière modification par Invité ; 10/02/2020 à 12h09.

  6. #6
    Invité
    Invité(e)
    Par défaut
    1- Inutile d'ouvrir une nouvelle discussion...

    2- Il te manque les bases du PHP et de PDO.
    Lis des tutos.

  7. #7
    Invité
    Invité(e)
    Par défaut Merci mais
    Merci mais je déteste suivre des cours pour apprendre (ça rentre dans une oreille ça ressort par l'autre) j'aimerais donc savoir quelle est le problème et quelle est la solution et non que l'on me réponde que je n'ai pas les compétences et que je dois me débrouiller (je suis venu sur un forum pour avoir une réponse a une question je n'ai pas demandé que l'on me redirige vers des cours) . Je comprends que ça peut embêter certaine personne mais grâce a cette méthode moi et toute les personnes dans le même cas que moi au début que j'aide en html et css progressent et pour cette raison je refuse de me laisser rabaisser (ce n’était peut être pas ton but) et qu'on me réponde que je doive suivre des cours.
    Dernière modification par Invité ; 10/02/2020 à 12h08.

  8. #8
    Invité
    Invité(e)
    Par défaut Encore
    Donc je repose ma question : J'ai l'erreur si présente :
    Warning: Invalid argument supplied for foreach() in C:\wamp\www\PHP\Acceuil.php on line 27
    (ma ligne 27 correspond a la ligne 8 dans le morceau de code si dessous)mais ma page s'affiche bien en fond.

    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
    <?php
    					$user = 'root';
    					$pass = '';
    					$bdh = new PDO('mysql:host=localhost; dbname=skillsend', $user, $pass);
     
    					$affichage = 'SELECT * from skillsend';
     
    					foreach($bdh->query($affichage) as $row){
    						annonce($row);
    					}
     
    				function annonce($text){
    					echo'<div>
    							echo "titre : " . $text["titre"]
    							echo "déscription : " . $text["description"]
    							echo "propriétaire : " . $text["proprietaire"]
    							echo "date : " . $text["date"]
    						<div/>';}
    				?>
    Merci si possible j'aimerais les explications avec la réponse.
    Dernière modification par Invité ; 10/02/2020 à 12h36.

  9. #9
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut,

    tu sais potasser la théorie est un mal nécessaire pour arriver à t'en sortir dans la programmation.
    Tu veux savoir la quantité de livres que j'ai lus pour en arriver là où j'en suis. Le développement n'est pas inné, c'est comme tout, ça se travaille en plus de la pratique.
    La pratique uniquement ne fera jamais de toi un développeur. Tu bidouilleras dans ton coin mais dès que cela va grimper en complexité, tu vas être vite largué.
    M'enfin, pour ce que j'en dis, tu sais ce qui est le mieux pour toi.

    Si tu avais potassé un peu la doc PHP : PDO::query, tu aurais vu que la fonction renvoie un PDOStatement ou false en cas d'erreur.
    Donc si on suppose que ta requête passe sans souci : tu devras faire (toujours d'après la doc) : foreach ($bdh->query($affichage)->fetchAll(PDO::FETCH_ASSOC) as $row).

    Pareil, tu ne sécurises aucune des données envoyées au navigateur ! Tu dois potasser un peu les questions relatives à la sécurité en général d'un site web (ça aussi ce n'est pas inné, c'est du savoir à mémoriser)

  10. #10
    Invité
    Invité(e)
    Par défaut Ok
    En général j'aurais tendance à être têtu mais je vais essayer a nouveau puisque apparemment tu n'est pas la seul personne a penser ça. Je vais mettre le probleme en résolu même si je déteste que quand quelqu'un pose une question on lui réponde suit des cours classique.

  11. #11
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    je ne te réponds pas : hé ho ! Va suivre des cours ! Je t'explique juste qu'il est nécessaire de passer par la case théorie si tu veux progresser en programmation. Dis-toi bien qu'il y a quand même un socle de connaissances abstraites à ingurgiter. Les logiciels se sont insinués dans tous les secteurs d'activités parce qu'il y a eu un énorme travail d'abstraction et de théorisation fait par tes aïeux. Ça serait dommage de passer à côté d'autant plus que cela t'apporte que du plus. Bref, tu devras t'y frotter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] foreach sur un resultat de query ?
    Par SpaceFrog dans le forum Langage
    Réponses: 8
    Dernier message: 09/04/2008, 14h28
  2. Query Begin et Commit son sur un bateau....
    Par faoz75 dans le forum Requêtes
    Réponses: 5
    Dernier message: 15/08/2003, 11h48
  3. Je ne retrouve pas ma SP dans Query analyser
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/07/2003, 12h43
  4. Query data set
    Par Sandra dans le forum JBuilder
    Réponses: 3
    Dernier message: 20/01/2003, 10h08
  5. [XMLRAD] Décoder Request.Query
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 8
    Dernier message: 10/01/2003, 16h40

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