Module "Matchs" marche pas

Eléphanteau du PHP | 14 Messages

17 janv. 2007, 19:20

Bonjour, j'ais fait une page d'administration pour modifier ou rajouter des matchs.
Quand j'en rajoute, cela fonctionne, mais quand j'essai d'en modifier un, sa ne marche pas, j'ais cherché, mais je ne vois pas du tout d'ou vient l'erreur.

Avez vous une idée ?
Merci d'avance

admin_war.php
<div id="texte">
<table align="center" style="text-align:center"><tr><td><img src="images/admin.png"></td> <td><span class="titre">ADMINISTRATION</span><br><span class="sous-titre">Matchs</span></td></tr></table>
<br>
<?php
include ('menu.php');
?>
<br>
<center>
<?php
mysql_connect ($host, $username, $password);
mysql_select_db ($bdd_name); 

if (isset($_POST['type']) AND isset($_POST['pays']) AND isset($_POST['team']) AND isset($_POST['vous']) AND isset($_POST['eux']) AND isset($_POST['match']))
{
    $type = addslashes($_POST['type']);
    $pays = addslashes($_POST['pays']);
        $team = addslashes($_POST['team']);
    $vous = addslashes($_POST['vous']);
    $eux = addslashes($_POST['eux']);
    $match = addslashes($_POST['match']);       
        
    if ($_POST['id_news'] == 0)
    {
        mysql_query("INSERT INTO tn_war VALUES('', '" . $type . "', '" . $pays . "', '" . $team . "', '" . $vous . "', '" . $eux . "', '" . $match . "')");
    }
    else
    {
        mysql_query("UPDATE tn_war SET type='" . $type . "', pays='" . $pays . "', team='" . $team . "', vous='" . $vous . "', eux='" . $eux . "', match='" . $match . "' WHERE id=" . $_POST['id_news']);
    }
}

if (isset($_GET['admin_war']))
{
    mysql_query('DELETE FROM tn_war WHERE id=' . $_GET['admin_war']);
}

$nombreDeMessagesParPage = 20; 

$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM tn_war') or die (mysql_error());
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];

$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);

?>
<br>

<table width="30%" class="bordure" style="text-align:center" align="center" border="0" cellpadding="0" cellspacing="0">
<tr height="30" class="titre">
<td width="7%">Mod.</td>
<td width="7%">Suppr</td>
<td width="15%">Team</td>
<td width="7%">Pays</td>
</tr>


<?php

if (isset($_GET['page']))
{
    $page = $_GET['page']; 
}
else 
{
    $page = 1; 
}

$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

$reponse = mysql_query('SELECT * FROM tn_war WHERE id ORDER BY id LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage) or die (mysql_error());

$tableau_couleurs=array(0=>'#F7FAFC',1=>'#E8ECEF');

$b=1;

while ($donnees = mysql_fetch_array($reponse))
{

?>
<tr height="25" bgcolor="<?php echo $tableau_couleurs[$b%2]; ?>">
<td><a href="index3.php?p=rediger_war&modifier_news=<?php echo $donnees['id']; ?>"><img style="border: 0px solid ; width: 10px; height: 10px;" alt="" src="images/edit.gif"></a></td>
<td><a href="index3.php?p=supprimer&admin_war=<?php echo $donnees['id']; ?>&value=admin_war"><img style="border: 0px solid ; width: 10px; height: 10px;" alt="" src="images/del.gif"></a></td>
<td><?php echo $donnees['team']; ?></td>
<td><img src="../images/flag/<?php echo $donnees['pays']; ?>.gif"></td>
</tr>
<?php
$b++;
}
?>
<tr><td colspan="6">
<?php
$selection = mysql_query('SELECT type FROM tn_war');
$infos = mysql_fetch_array($selection);

          if(!empty($infos['type']))
                  {
          echo '';
                  }
        else
                  {
          echo '<center>Aucun match enregistré</center>';
                  }  
?>
</td></tr>
<tr height="20" class="titre">
<td colspan="6"><?php echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="index3.php?p=admin_war&page=' . $i . '">' . $i . '</a> ';
}

?></td>
</tr>
</table>
   <br>
  </center>
</div>
redigier_war.php
<div id="texte">
<table align="center" style="text-align:center"><tr><td><img src="images/admin.png"></td> <td><span class="titre">ADMINISTRATION</span><br><span class="sous-titre">Matchs</span></td></tr></table>
<br>
<?php
include ('menu.php');
?>
<br><center>
<table width="60%" class="team"><tr><td>
<?php
mysql_connect ($host, $username, $password);
mysql_select_db ($bdd_name);

if (isset($_GET['modifier_news']))
{
    $retour = mysql_query('SELECT * FROM tn_war WHERE id="' . $_GET['modifier_news'] . '"');
    $donnees = mysql_fetch_array($retour);

    $type = $donnees['type'];
    $pays = $donnees['pays'];
    $team = $donnees['team'];
    $vous = $donnees['vous'];
    $eux = $donnees['eux'];
    $match = $donnees['match']; 
    $id_news = $donnees['id'];
}
else 
{
    $type = '';
    $pays = '';
    $team = '';
    $vous = '';
    $eux = '';
    $match = '';        
    $id_news = 0;
}
?>

<form name="news" action="index3.php?p=admin_war" method="post">

<table align="center" width="60%" border="0" cellpadding="1" cellspacing="0" class="bordure" style="text-align:center" bgcolor="#E8ECEF">
<tr height="30" class="titre">
<td colspan="2"><b>Editer un match</b></td>
</tr>
<tr>
<td>Status :</td> <td style="text-align: left"><select name="type" style='width:140px;'>
<option value="<?php echo $type; ?>" ><?php echo $type; ?></option>
<option value="won" >Gagné</option>
<option value="draw" >Nul</option>
<option value="lost" >Perdu</option>
</select></td>
</tr>
<tr>
<td>Equipe :</td> <td style="text-align: left"><input type="text" size="20" name="team" value="<?php echo $team; ?>" /></td>
</tr>
<tr>
<td>Pays :</td> <td style="text-align: left"><select name="pays" style='width:140px;'>
<option value="<?php echo $pays; ?>" ><?php echo $pays; ?></option>
<option value="Albania" >Albania</option>
<option value="Argentina" >Argentina</option>
<option value="Australia" >Australia</option>
<option value="Austria" >Austria</option>
<option value="Belgium" >Belgium</option>
<option value="Bosnia" >Bosnia</option>
<option value="Brazil" >Brazil</option>
<option value="Canada" >Canada</option>
<option value="Chile" >Chile</option>
<option value="China" >China</option>
<option value="Croatia" >Croatia</option>
<option value="czech" >czech</option>
<option value="Denmark" >Denmark</option>
<option value="Estonia" >Estonia</option>
<option value="Finland" >Finland</option>
<option value="France" >France</option>
<option value="Germany" >Germany</option>
<option value="Greece" >Greece</option>
<option value="Hungary" >Hungary</option>
<option value="Iceland" >Iceland</option>
<option value="Ireland" >Ireland</option>
<option value="Israel" >Israel</option>
<option value="Italy" >Italy</option>
<option value="Japan" >Japan</option>
<option value="Mexico" >Mexico</option>
<option value="Morocco" >Morocco</option>
<option value="Netherlandsl" >Netherlandsl</option>
<option value="New-Zealand" >New-Zealand</option>
<option value="Norway" >Norway</option>
<option value="Poland" >Poland</option>
<option value="Portugal" >Portugal</option>
<option value="Romania" >Romania</option>
<option value="Russia" >Russia</option>
<option value="Singapore" >Singapore</option>
<option value="Slovenia" >Slovenia</option>
<option value="South-Africa" >South-Africa</option>
<option value="Spain" >Spain</option>
<option value="Sweden" >Sweden</option>
<option value="Switzerland" >Switzerland</option>
<option value="Tunisia" >Tunisia</option>
<option value="United-Kingdom" >United-Kingdom</option>
<option value="United-States" >United-States</option>
<option value="Venezuela" >Venezuela</option>
<option value="Yugoslavia" >Yugoslavia</option>
</select></td>
</tr>
<tr>
<td>Score Vous :</td> <td style="text-align: left"><input type="text" size="5" name="vous" value="<?php echo $vous; ?>" /></td>
</tr>
<tr>
<td>Score Adversaire :</td> <td style="text-align: left"><input type="text" size="5" name="eux" value="<?php echo $eux; ?>" /></td>
</tr>
<tr>
<td>Match de :</td> <td style="text-align: left"><input type="text" size="20" name="match" value="<?php echo $match; ?>" /></td>
</tr>
</table>
    <br>
    <center><input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
    <input type="submit" value="Modifier" /></center>
</form>
</td></tr></table>
<br>
          <table class="bordure" bgcolor="#E8ECEF"><tr><td><b> .: <a href="index3.php?p=admin_war">Retour</a> :.</b></td></tr></table>
</center>
<br>
</div>

ViPHP
ViPHP | 1996 Messages

17 janv. 2007, 19:34

Bonjour,
Est ce que ta requete est bonne ?
'SELECT * FROM tn_war WHERE id="' . $_GET['modifier_news'] . '"'

Cela m'est arrivé qu'un espace se mette dans dans ma requête (ici au niveau de la variable $_GET['modifier_news'] ) et donc aucun résultat n'était transmissible.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

ViPHP
ViPHP | 1961 Messages

17 janv. 2007, 21:02

Bonsoir,

Je pense que ton PB viens du fait que tu utilises mots réservé Mysql pour des noms de colonne
, match='" . $match .
Essaie ceci

Code : Tout sélectionner

`match`='" . $match .
ATTENTION :
Les caractères qui entourent le mot match ne sont pas des apostrophes mais des accents graves (Alt Gr + 7 dans un clavier français)
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 14 Messages

17 janv. 2007, 22:32

C'est bon, la soluce de Ajoloca fonctionne, merci beaucoup ;)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 janv. 2007, 23:20

Vaut mieux changer de nom pour ce champ (c'est Hubert qui le dit 8-) que de contourner mais ça reste tout à fait valable dans Mysql

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 1961 Messages

17 janv. 2007, 23:58

Vaut mieux changer de nom pour ce champ (c'est Hubert qui le dit 8-) que de contourner mais ça reste tout à fait valable dans Mysql
En plus du conseil de Truc j'ajouterai qu'il faut toujours tester le retour toutes les fonctions et en particulier celles de MySQL.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein