Plusieurs question sur MySQL

Fermé
Fushiida - 22 juil. 2011 à 15:11
Fushiida Messages postés 31 Date d'inscription vendredi 22 juillet 2011 Statut Membre Dernière intervention 8 février 2013 - 22 juil. 2011 à 20:41
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 vendredi 22 juillet 2011 Statut Membre Dernière intervention 18 octobre 2013 6
Modifié par apprendreEtSeDevelopper le 22/07/2011 à 15:18
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 vendredi 22 juillet 2011 Statut Membre Dernière intervention 8 février 2013
22 juil. 2011 à 15:54
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 vendredi 22 juillet 2011 Statut Membre Dernière intervention 18 octobre 2013 6
Modifié par apprendreEtSeDevelopper le 22/07/2011 à 16:17
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 vendredi 22 juillet 2011 Statut Membre Dernière intervention 8 février 2013
22 juil. 2011 à 16:25
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 vendredi 22 juillet 2011 Statut Membre Dernière intervention 18 octobre 2013 6
22 juil. 2011 à 16:43
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 vendredi 22 juillet 2011 Statut Membre Dernière intervention 8 février 2013
22 juil. 2011 à 17:04
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 vendredi 22 juillet 2011 Statut Membre Dernière intervention 8 février 2013
Modifié par Fushiida le 22/07/2011 à 20:50
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