Plusieurs question sur MySQL

Bonjour,

Alors voila mes différente question sur MySQL :

-J'aurai aimer savoir comment on pouvait faire pour dialoguer entre 2 deux query, je m'explique
J'ai crée un système de tableau des bannis de mon jeu.
Avec ce script j'ai réussi a faire afficher le nom du personnage + la raison de sont ban situer dans un query "account"
Mais le nombre de temps qu'il est ban ce trouve dans une autre query appeler "bloc_temp" a une certaine cellule
Certain me dirons rajoute une cas dans "account" mais non sachant que la BDD a été conçu comme t'elle je ne peut la modifier sans influencer d'autre changement .

Voici mon code actuel

<?php
try
{
    // On se connecte à MySQL
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
	$bdd = new PDO('mysql:host=5.53.189.100;dbname=account', 'root', '123456', $pdo_options);
    
    // On récupère tout le contenu de la table account
	// on garde seullement les cellules status differente de OK
$reponse = $bdd->query('SELECT * FROM account WHERE status!=\'OK\'');
	// On affiche le tableau

echo '<table border="0" >
    <tr>
        <th>Nom</th>
		<th>Raison du ban</th>
	</tr>';



    
    // On affiche chaque entrée une à une
    while ($donnees = $reponse->fetch())
    {
    ?>
	 <tr>
        <p>
        <td border="5"><font style="color: black"><?php echo $donnees['login']; ?></font></td>
		<td border="5"><font style="color: black"><?php echo $donnees['status']; ?></font></td>
        </p>
	 </tr>
    <?php
    }
    
    $reponse->closeCursor(); // Termine le traitement de la requête

}
catch(Exception $e)
{
    // En cas d'erreur précédemment, on affiche un message et on arrête tout
    die('Erreur : '.$e->getMessage());
}



// On ferme le tableau
echo '</table>';

?>


Ce script marche parfaitement

7 réponses

  1. Attention, modifie ton post et enlève ta ligne de connexion à ta base car tu as laissé les mot de passe et login!
    Je réfléchi à ton problème =)
    1. C'est un serveur par hamachi je ne m'en sert que en local ^^, merci bien, j'aurai aussi aimer savoir comment modifier un cellule SQL d'une page php
      1. Qu'est-ce que tu appelle query ?
        Mais si j'ai bien compris tu voudrais faire un tableau à 3 dimensions (nom, raison de ban, temps du ban).
        Alors tu peux faire une requête:
        SELECT accont.login, statue, temps FROM account,bloc_temp WHERE status!='OK' AND bloc_temp.login=account.login

        Est-ce que tu peux expliquer ce que tu entends par modifier une cellule SQL d'une page php (fais un petit exemple si nécessaire) =)
        1. Oui c'est sa que je veut faire, tu a skype ?

          Un table si c'est bien query que sa s'appel =X
          Un exemple, je voudrait pouvoir bannir les joueurs directement de ma page PHP c'est a dire modifier la cellule status

          (je test ton code)
          1. Non je n'est pas skype tout de suite mais ce soir je l'aurais. =)

            Une table s'appelle table query en anglais c'est question, c'est la première fois que j'entends ca... ^^

            Tu peux modifier une table en faisant une requête SQL de type UPDATE, ce qui donne par exemple:
            bdd->exec("UPDATE account SET statue='bani' WHERE login='moi'");
            dans cette requête tu mets la valeur statu du jour 'moi' à 'bani'.
            Pour plus de précisions va sur
            https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914508-ecrivez-des-donnees#ss_part_2

            Si tu as d'autre question n'hésite pas =)

            ps: même si tu travaille en local s'est pas super de donner des MDP et login.
            1. Je vais regarder un peu sur le siteduzero car j'ai pas "tout tout" compris, si tu peut m'entrer skype des que tu peut

              skype: Fushiida
              1. Je m'excuse d'avance pour le double post

                Ce que j'aimerai faire.
                Je voudrai pouvoir crée un menu déroulant sur ma page php avec :

                -Autre
                -Bot
                -Insulte

                Et quand je clique sur un de c'est choix sa m'affiche c'est trois intituler dans "status"

                J'ai quelque petite source

                Coter php
                 <th>Statut</th>
                		    <td><em><strong>{x[status]}</strong></em> | 
                			<if cond="$x[status]=='OK'">
                			<a href="index.php?p=mod_player&a=ban&id={x[id]}">Bloquer</a>
                			<else/>
                			<a href="index.php?p=mod_player&a=ban&id={x[id]}">Débloquer</a>
                			</if>
                			</td>
                	      </tr>
                		  <tr>


                Coter sql

                //Si le compte existe
                	if($donnees['nb_compte']==1)
                	{
                		$tpl->assign('id', $id_m);
                		$sql = mysql_query("SELECT * FROM account.account WHERE id = '$id_m' LIMIT 1"); 
                		$data = mysql_fetch_array($sql);
                		
                		//Si le membre est OK, on le bloque
                		if($data['status']=='OK')
                		{
                			$tpl->assign('ban', 'block');
                			mysql_query("UPDATE account.account SET status='BLOCK' WHERE id = '$id_m'") or die (mysql_error());
                		}
                		//Si le membre est BLOCK, on le débloque
                		else
                		{
                			$tpl->assign('ban', 'ok');
                			mysql_query("UPDATE account.account SET status='OK' WHERE id = '$id_m'") or die (mysql_error());
                		}
                
                	}


                Et je ne trouve pas ou est fait la liaison du php au sql