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. 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
    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. 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. 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. 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. 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. 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 =)