Plusieurs question sur MySQL

Fushiida -  
Fushiida Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -
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

apprendreEtSeDevelopper Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   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
Fushiida Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
 
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
apprendreEtSeDevelopper Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   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
Fushiida Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
apprendreEtSeDevelopper Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   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
Fushiida Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
 
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
Fushiida Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
 
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