Problème tableau [Fermé]

Signaler
Messages postés
227
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
3 décembre 2017
-
Messages postés
227
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
3 décembre 2017
-
Bonjour,

Mon problème est assez complexe (enfin du moins pour moi) et j'aimerais avoir de l'aide.
En gros, j'affiche un tableau en html :

          <div class="span10" id="bloc"> 
            <table class="table table-bordered" id="bloc3"> 
              <thead> 
                <tr> 
                  <th>Image</th> 
                  <th>Nom</th> 
                  <th>Niveau</th> 
                </tr> 
              </thead> 
              <tbody> 
                <tr> 
                  <td id="ImagePok1"></td> 
                  <td id="NomPok1"></td> 
                  <td id="NivPok1"></td> 
                </tr> 
                <tr> 
                  <td id="ImagePok2"></td> 
                  <td id="NomPok2"></td> 
                  <td id="NivPok2"></td> 
                </tr> 
                <tr> 
                  <td id="ImagePok3"></td> 
                  <td id="NomPok3"></td> 
                  <td id="NivPok3"></td> 
                </tr> 
              </tbody> 
            </table> 
          </div> 
          <div class="span10" id="bloc2"> 
          </div> 
        </div> 
      </div> 
  </div>


Et j'aimerais que dans ce tableau il s'affiche le nom, l'image ainsi que le niveau de mes Pokémon qui se trouvent dans ma BD. C'est ce que j'essaie de faire avec mon fichier PHP :

<?php 

$tab_equipe = array(
    'result'  => false,
    'message' => 'Aucune tentative de connection',
    'data'    => array("vide")
);

try {

    $pdo = new PDO('mysql:host=localhost;dbname=maBD', 'root', 'mysql');

    $query="SELECT * FROM equipe_red WHERE ImgEqR=:param1 and NomPokR=:param2 and NivPokR:=param3";
    
    foreach ($pdo->query($query) as $row) {
    $tab[]= array(
    "Img_Red" => $row['ImgEqR']
    );
    }
    $ligne = $requete -> fetchAll();
    
    // 
    if (count($ligne)>0) {
        
        $tab_resultat['result' ] = true;
        $tab_resultat['message'] = 'reussie';
        $tab_resultat['data'   ] = $ligne;
    }
    else {
        $tab_resultat['message'] = 'Erreur identification';
    }

} 
catch (Exception $e)
{
    $tab_resultat['message'] = 'Erreur base de données';
}

header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');

echo json_encode($tab_resultat);

?>


Et pour finir voici mon code JS :

/* EQUIPE */

	$('#red_eq').click(function() {
		

		 $.ajax({
		url:'equiperouge.php',
		success: onSuccess
		}); 
         }

function onSuccess(data) {
	for (var i in data) {
	$("#ImagePok1").append(
	$('<img />')
	.attr('id',i)
	.attr('src',data[i].Img_Red)
	.attr('class',"image_red")
	)
	;}
}


Savez-vous comment je peux faire ça en PHP ?

2 réponses

Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
18 juillet 2018
1 406
Salut,

et c'est quoi le soucis exactement ?
Messages postés
227
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
3 décembre 2017
76
Voici mon tableau : https://www.pixenli.com/image/kKrl2BI7

J'aimerais que lorsque je clique sur "Red" à gauche, le tableau se remplisse à partir de la base de données, dans chaque case du tableau.
Sur la première ligne je voudrais que ça affiche l'image, le nom et le niveau du Pokémon pris de la BD (qui s'appelle maBD).

Merci d'avance.

L'informatique n'a pas d'âge, la preuve, je connais plein de gens qui s'y connaissent assez jeunes...
Messages postés
227
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
3 décembre 2017
76
Bonjour,

Merci d'accorder votre temps à ma question.

Dans tous les cas, je dois utiliser ma base de données pour récupérer mes images car c'est demandé dans mon énoncé. Et comment je pourrais charger toutes les infos au chargement de la page ? J'arrive pas à comprendre comment je pourrais mettre mes données dans le tableau... je n'arrive pas à saisir.

De plus, je ne suis pas super bon dans ce domaine donc je suis désolé si je vous pose des questions évidentes.

Merci d'avance.
Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
18 juillet 2018
1 406
au contraire, c'est assez technique.

Bon, tu as quoi comme contrainte ?
Tu maîtrises quoi sur le plan technique ?
Messages postés
227
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
3 décembre 2017
76
Mes contraintes : utiliser au moins une fois la BD (j'ai utilisé les images mais certains ont pris les formulaires de connexion/inscription d'un utilisateur)
Je dois utiliser la bibliothèque JQuery au maximum pour faire un affichage fluide et sans rechargement de page.

Je maîtrise assez bien le javascript et mysql.

(Voici ma base de données en mysql : https://www.pixenli.com/image/zOm2FkRC)

Merci.
Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
18 juillet 2018
1 406
et comment tu fais le lien avec tes red/gold/saphire ?
Messages postés
227
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
3 décembre 2017
76
Fichier html :

<div class="span2"> 
                      <select name="navigation[]" size="5"> 
                      <option value="hero1" id='red_eq'>Red</option> 
                      <option value="hero2" id='gold_eq'>Gold</option> 
                      <option disabled value="hero3" id='saphir'>Saphir</option> 
                      </select> 
          </div>


Fichier JS :

/* EQUIPE */ 

 $('#red_eq').click(function() { // lorsque je clique sur le choix "Red"
   
  $('#bloc3').show(); // affiche le bloc3 qui est égal au contenu du div
  $(globalDivGold).hide(); // cache le contenu de Gold

  $.ajax({ 
  url:'equiperouge.php', // renvoie vers le fichier PHP
  success: onSuccess // va vers la fonction onSuccess que j'ai notée un peu plus haut
  });  
  $('#red_eq').click(function() { 
   $(globalDivRed).show(); 
  });