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 :

Utilisation de fetch_array !


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Débutant
    Inscrit en
    Juillet 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Débutant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 29
    Points : 7
    Points
    7
    Par défaut Utilisation de fetch_array !
    Bonsoir à tous.

    Je suis débutant-confirmé en PHP et Mysql, et je n'ai pas l'habitude de demander des trucs sur des forums car généralement, google me trouve la réponse ! Mais la, je sèche, je comprends pas.
    Voici ma situation: J'ai une base de données d'arbitres avec leurs coordonnées (mail, téléphone, prénom etc..)
    Je veux afficher dans un tableau toutes ces données là (sans utiliser phpmyadmin, car mon boss veut que je travaille en ligne de commande).
    J'ai deux soucis: D'abord, quand je regarde ce que ca donne sur localhost, ca me donne que le dernier arbitre de ma base de données ! Je comprends pas pk..
    Deuxiemement, j'ai plusieurs colonnes donc, et je ne sais pas pourquoi, le contenu de la colonne Age (donc 18 dans mon cas) est collé au contenu de la colonne Sexe qui lui précède !! Et donc bien sur ca décale toutes les autres colonnes..

    Merci d'avance à ceux qui pourraient m'aider !!!

    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
    <?php
    // Connexion PDO
    try {
    $bdd = new PDO('mysql:host=localhost;dbname=Arbitrage', 'root', '*****');  
    } catch (PDOException $e) {
        die( 'Erreur de connexion avec la base de donn&eacute;es - veuillez contacter votre administrateur' );     
    }
    // Recuperation des Ids des compteurs selectionnes et alimentation du tableau Arbitres_table
    $Arbitres_table = array();    
    $sql = "SELECT * FROM Arbitres";
    try {
       $result_pdo = $bdd->query($sql);
       $Arbitres=array();
       while ($arbitre=$result_pdo->fetch() ) {
          $Arbitres[$arbitre['Id']] = $arbitre;
       }
    } catch (PDOException $e) {
            print_r($_POST);
          die( "Erreur SQL avec la base de donn&eacute;es - veuillez contacter votre administrateur ($sql)" );   
    }
     
    echo "<table>\r\n";
    echo "\t<tr><th>Licence</th><th>Nom</th><th>Prenom</th><th>Centre</th><th>Qualites<th></th><th>Sexe</th><th>Age</th><th>Telephone</th>
    <th>Mail</th><th>Naissance</th><th>Club</th></tr>";
    foreach ($Arbitres as $id=>$props) {
       echo "\t<tr>";
          echo "<td>".$props['licence']."</td>";
          echo "<td>".$props['nom']."</td>";
          echo "<td>".$props['prenom']."</td>";
          echo "<td>".$props['centre']."</td>";
          echo "<td>".$props['qualites']."</td>";
          echo "<td>".$props['sexe']."</td>";
          echo "<td>".$props['age']."</td>";
          echo "<td>".$props['telephone']."</td>";
          echo "<td>".$props['mail']."</td>";
          echo "<td>".$props['naissance']."</td>";
          echo "<td>".$props['club']."</td>";
       echo "\t</tr>";  
    }
    echo "</table>\r\n";
    ?>

    EDIT: J'ai trouvé pour ceux que ca interesse pour mon premier soucis !! TOut betement.. [$arbitre [Id]] n'était pas bon, puisque j'avais "id" en minuscules x)

    Par contre, si quelqu'un sait pour mon deuxieme soucis, car maintenant j'ai toutes les données, mais l'age empiete tjs sur sexe.. Je me demande si c'est pas un probleme de msie en page..

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    la balise n'est pas fermée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Débutant
    Inscrit en
    Juillet 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Débutant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 29
    Points : 7
    Points
    7
    Par défaut
    Bonsoir !
    Oui exactement.. C'est ce que j'ai vu apres coup J'ai maintenant un autre soucis.. Je cherche à me connecter à un espace membre que j'ai créé, mais 'ai une erreur de type
    Fatal error: Call to a member function fetch() on a non-object in /var/www/Login.php on line 18 
    Je comprends pas.. VOici mon code si vous pouvez m'aider Merci !

    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
     
    <?php
    // Je me connecte à la base de données
    try
    {
        $bdd = new PDO('mysql:host=localhost;dbname=Arbitrage', 'root', '');
    }
    catch (Exception $e) // Si erreur
    {
            die('Erreur : ' . $e->getMessage());
    }
     
     
     
    $reponse_email = $bdd->query('SELECT email FROM Arbitres'); 
    $reponse_licence = $bdd->query('SELECT licence FROM Arbitres'); 
     
    //Je vérifie 
    while ($donnees = $reponse_email->fetch() AND $donnees2 = $reponse_licence->fetch()) 
     
    {
        if ($_POST['email'] == $donnees['email'] AND $_POST['licence'] == $donnees2['licence']) // ERREUR ICI
        {
                    echo "T'es connecté !" ;
        }
    else
     {echo "Heiiiin mauvais réponse !";
    }
    }
    $reponse_email->closeCursor(); // Termine le traitement de la requête
    $reponse_licence->closeCursor(); // Termine le traitement de la requête
     
    ?>

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Tu dois utiliser une seule requête pour récupérer email et licence.

    A+.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    1/ ta méthode de vérification n'est pas bonne.
    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
    <?php
    if (!empty($_POST['email']) && !empty($_POST['licence'))
    {
    	// requete : la fiche existe-t-elle ?
    	try {
    		$reponse_verif = $bdd->query("SELECT id FROM Arbitres WHERE email = :email AND licence = :licence"); 
    		$reponse_verif->bindValue(':email', $_POST['email'], PDO::PARAM_STR);
    		$reponse_verif->bindValue(':licence', $_POST['licence'], PDO::PARAM_STR);
    		$reponse_verif->execute();
    	} catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
    	// nombre de résultats
    	$nbreTotal_nombre = $reponse_verif->rowCount();
        if ($nbreTotal_nombre == 1) // OK, il existe !
    	{
    		echo 'OK, t\'existes !';
    	} else {
    		echo 'Oups !!';
    	}
    } else {
    	echo 'Les champs email et licence doivent être remplis !';
    }
    2/ Ce n'est pas parce que la page est écrite en PHP (et porte l'extension .php) que TOUT doit être entre balise PHP (<?php ... ?>).
    On peut "sortir" le code html.
    Exemple :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $var1 = "coucou";
    $var2 = "c'est moi";
    echo '<table><tr><td>'.$var1.'</td><td>'.$var2.'</td></tr></table>';
    $var3 = "bye";
    ?>
    Devient :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $var1 = "coucou";
    $var2 = "c'est moi";
    ?>
    <table>
    	<tr>
    		<td><?php echo $var1; ?></td>
    		<td><?php echo $var2; ?></td>
    	</tr>
    </table>
    <?php
    $var3 = "bye";
    ?>

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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