Plusieurs question sur MySQL

Fushiida -  
Fushiida Messages postés 43 Statut Membre -
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. apprendreEtSeDevelopper Messages postés 66 Statut Membre 6
     
    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 =)
    0
  2. Fushiida Messages postés 43 Statut Membre
     
    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
    0
  3. apprendreEtSeDevelopper Messages postés 66 Statut Membre 6
     
    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) =)
    0
  4. Fushiida Messages postés 43 Statut Membre
     
    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)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. apprendreEtSeDevelopper Messages postés 66 Statut Membre 6
     
    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.
    0
  7. Fushiida Messages postés 43 Statut Membre
     
    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
    0
  8. Fushiida Messages postés 43 Statut Membre
     
    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
    0