Verif de code php

Fermé
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 1 déc. 2008 à 19:18
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 2 déc. 2008 à 23:13
Bonjour,

J'ai un petit problème de mon code il n'affiche pas les tableau que je lui demande je pense que c'est une de mes conditions qui ne fonctionne pas mais je ne voit pas pourquoi

je vous met mon code pour voir si quelqu'un de plus doué que moi pourait me débloquer svp

merci d'avance.

<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="style5.css" />
<title></title>
</head>
<body>
<div id="underlinemenu">
<ul>
<li><a href="nouveau_result_class.html" title="Nouveau_résultat">Nouveau résultat</a></li>
<li><a href="resultat.php" title="Palmarès">Palmarès</a></li>
<li><a href="simulation.html" title="Simulation">Simulation</a></li>
<li><a href="stat_class.html" title="Statistiques">Statistiques</a></li>
<li><a href="export_class.html" title="Export">Export</a></li>
</ul>
</div>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<?php

include("connect.php");

//Mise en forme et présentation de base

$login=$_SESSION['login'];

$sql = "SELECT NOM FROM PERSONNES P, COMPTE_UTILISATEUR C WHERE P.LICENCE = C.LICENCE AND C.LOGIN = '".addslashes($login)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
$result = mysql_fetch_row($req);
$_SESSION['nom'] = $result[0];

$sql1 = "SELECT PRENOM FROM PERSONNES P, COMPTE_UTILISATEUR C WHERE P.LICENCE = C.LICENCE AND C.LOGIN = '".addslashes($login)."'";
$req1 = mysql_query($sql1) or die('Erreur SQL : <br />'.$sql1);
$result2 = mysql_fetch_row($req1);
$_SESSION['prenom'] = $result2[0];

echo $_SESSION['prenom'] . " " . $_SESSION['nom'] . "<br />" . "<br />";
echo 'PALMARES : '. date('Y') ."<br>"."<br>"."<br>";

//début du code pour la présentation des résultats

if (isset ($_POST['title']) && isset ($_POST['type']) )
{
$title = $_POST['title'];
$type = $_POST['type'];
$surface = $_POST['surface'];
$datedeb = $_POST['dateStartYear']."-".$_POST['dateStartMonth']."-".$_POST['dateStartDay'];
$datefin = $_POST['dateEndYear']."-".$_POST['dateEndMonth']."-".$_POST['dateEndDay'];


if (($_POST['win'])=='1')
{
$win = 'oui';
}
else
{
$win = 'non';
}
$requete1 = "insert into TOURNOI (`INTITULE`, `TYPE`, `SURFACE`, `DATE_DÉBUT`, `DATE_FIN`, `TOURNOI_REMPORTE`) values('$title','$type','$surface','$datedeb','$datefin','$win')";
mysql_query($requete1);

//requête pour insérer les tuples dans PARTICIPER
$req_array1 = mysql_query('SELECT LICENCE FROM PERSONNES');
$personnes = mysql_fetch_array($req_array1);
$personnes_licence = $personnes['LICENCE'];

//insertion des clés étrangères dans PARTICIPER
$requete2 = "insert into PARTICIPER (`INTITULE`, `LICENCE`) values('$title','$personnes_licence')";
mysql_query($requete2);
}

//mise en forme du tableau tournoi
$nom = $_SESSION['nom'];
$prenom = $_SESSION['prenom'];
$req_array2 = mysql_query("SELECT T.INTITULE,T.TYPE,T.SURFACE, T.DATE_DÉBUT, T.DATE_FIN, T.TOURNOI_REMPORTE FROM TOURNOI T, PARTICIPER PA, PERSONNES PE WHERE T.INTITULE = PA.INTITULE AND PA.LICENCE = PE.LICENCE AND PE.NOM = 'Lelais' AND PE.PRENOM = 'Sébastien'");
while ($epreuves = mysql_fetch_array($req_array2))
{?>
<table style="text-align: left; width: 966px; height: 32px;"
border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="background-color: rgb(192, 192, 192);"><span
style="color: rgb(255, 255, 255);"><?php
echo "<b>".$epreuves['INTITULE']." - Du ".$epreuves['DATE_DÉBUT']." au ".$epreuves['DATE_FIN']. " - ".$epreuves['SURFACE']."</b>"."<br>";
if ($epreuves['TOURNOI_REMPORTE']=='oui')
{
echo "Tournoi remporté";
}
?><span
style="font-weight: bold;"></span></span></td>
</tr>
</tbody>
</table>
<table style="text-align: left; width: 966px; height: 32px;"
border="1" cellpadding="2" cellspacing="2">
<tbody>
<?php
}
$eprId = $_POST['eprId'];
$dateresult = $_POST['dateYear']."-".$_POST['dateMonth']."-".$_POST['dateDay'];
$result = $_POST['result'];
$wo = $_POST['wo'];
$advClt = $_POST['advClt'];
$scoreSet1a = $_POST['scoreSet1a'];
$scoreSet1b = $_POST['scoreSet1b'];
$scoreSet2a = $_POST['scoreSet2a'];
$scoreSet2b = $_POST['scoreSet2b'];
$scoreSet3a = $_POST['scoreSet3a'];
$scoreSet3b = $_POST['scoreSet3b'];
$tour = $_POST['tour'];
$surface = $_POST['surface'];
$indoor = $_POST['indoor'];
$chpt = $_POST['chpt'];
$format = $_POST['format'];
$time = $_POST['time'];
$licence = $_POST['licence'];
$advLastName = $_POST['advLastName'];
$advFirstName = $_POST['advFirstName'];
$advNais = $_POST['advNais'];
$advClub = $_POST['advClub'];

//insertion dans la table matchs
if (isset ($_POST['eprId']) && isset ($_POST['result']) && isset ($_POST['advClt']) )
{
include("connect.php");

if ($indoor=='0' && $wo=='0' && $result=='D')
{
$indoor = 'extérieur';
$wo = 'wo';
$result = 'défaite';
}
else
{
$indoor = 'intérieur';
$wo = 'non';
$result = 'victoire';
}
$requete1 = "insert into MATCHS (`NUM_RESULTAT`, `INTITULE`, `DATE`, `RESULTAT`, `CLASSEMENT`, `SCORE_1_SET`, `SCORE_2_SET`, `SCORE_3_SET`, `TOUR`, `FORMAT`, `DURÉE`, `INDOOR`, `WO`) values('','$eprId','$dateresult','$result','$advClt','$scoreSet1a / $scoreSet1b','$scoreSet2a / $scoreSet2b','$scoreSet3a / $scoreSet3b','$tour','$format','$time','$indoor','$wo')";
mysql_query($requete1);
$requete2 = "insert into PERSONNES (`LICENCE`, `LICENCE_JOUER`, `NOM`, `PRENOM`, `NAISSANCE`, `NUM_CLUB`, `CLASSEMENT`, `SEXE`, `MAIL`) values('$licence','','$advLastName','$advFirstName','$advNais','$advClub','$advClt','','')";
mysql_query($requete2);
}

//mise en forme des résultats

$req_array3 = mysql_query("SELECT * FROM MATCHS M, TOURNOI T, PARTICIPER PA, PERSONNES PE WHERE M.INTITULE =T.INTITULE AND T.INTITULE = PA.INTITULE AND PA.LICENCE = PE.LICENCE AND PE.NOM = '".addslashes($nom)."' AND PE.PRENOM = '".addslashes($prenom)."'");
while ($matchs = mysql_fetch_array($req_array3))
{
if ($matchs['NUM_RESULTAT']='' && $matchs['INTITULE']='' && $matchs['RESULTAT']='' && $matchs['CLASSEMENT']='')
{?>
<tr>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Date</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Tour</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Adversaire</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Clt</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Score</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Licence</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Club</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Age</td>
</tr><tr>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Aucun résultat</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"></td>
</tr>
</tbody>
</table>
<?php
}
else
{
?>
<table style="text-align: left; width: 966px; height: 32px;"
border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Date</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Tour</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Adversaire</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Clt</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Score</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Licence</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Club</td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;">Age</td>
</tr>
<tr>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"><?php echo $matchs['DATE']?></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"><?php echo $matchs['TOUR']?></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"><?php echo $personnes['NOM']. " ".$personnes['PRENOM']?></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"><?php echo $matchs['CLASSEMENT']?></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"><?php echo $matchs['SCORE_1_SET']. " " .$matchs['SCORE_2_SET']. " ".$matchs['SCORE_3_SET']?></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"><?php echo $personnes['LICENCE']?></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"><?php echo $personnes['NUM_CLUB']?></td>
<td
style="text-align: center; background-color: rgb(205, 205, 205); color: rgb(51, 51, 255); font-weight: bold;"><?php echo date("Y") -$personnes['NAISSANCE']?></td>
</tr>
</tbody>
</table>
<?php
}
}
?>

</body>
</html>
A voir également:

12 réponses

drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
1 déc. 2008 à 20:34
up
0
eolange Messages postés 103 Date d'inscription jeudi 19 octobre 2006 Statut Membre Dernière intervention 23 avril 2009 2
1 déc. 2008 à 21:08
Bonsoir dans ta boucle while:

while ($epreuves = mysql_fetch_array($req_array2))
{?>
<table style="text-align: left; width: 966px; height: 32px;"
border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="background-color: rgb(192, 192, 192);"><span
style="color: rgb(255, 255, 255);"><?php



tu ne dois pas fermé tes balises php a mon avis . fais plutot un echo et enleve les ?> et le <?php

;)
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
1 déc. 2008 à 21:20
non les balises php ne génent pas


par contre à première lecture je vois un pb:

//requête pour insérer les tuples dans PARTICIPER
$req_array1 = mysql_query('SELECT LICENCE FROM PERSONNES');
$personnes = mysql_fetch_array($req_array1);
$personnes_licence = $personnes['LICENCE'];

//insertion des clés étrangères dans PARTICIPER
$requete2 = "insert into PARTICIPER (`INTITULE`, `LICENCE`) values('$title','$personnes_licence')";
mysql_query($requete2);


$req_array1 doit surement te renvoier plus d'un résultat alors il faut les traiter par une boucle while

par ce que toi tu ne traite qu'un seul par $personnes = mysql_fetch_array($req_array1);
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
1 déc. 2008 à 21:34
en faisant ca vous voulez dire alain?

while ($personnes = mysql_fetch_array($req_array1))
{
$personnes_licence = $personnes['LICENCE'];
}

sinon je pense qu'il y a un problème lors du prochain while aussi. vous ne pensez pas?
sinon ce son dans les if après
0
Archeus01 Messages postés 1572 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 452
1 déc. 2008 à 21:40
si tu fais juste ça, tu auras seulement le dernier résultat dans $personnes_licence, il faut exécuter ton traitement à l'intérieur du while.
0

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

Posez votre question
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
1 déc. 2008 à 22:19
excuse je n'ai pas compris ta remarque Archeus01
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
1 déc. 2008 à 22:45
je suis totalement bloqué la meme perdu je devrais dre lol
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
2 déc. 2008 à 13:21
up
0
Archeus01 Messages postés 1572 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 452
2 déc. 2008 à 16:11
"$req_array1 doit surement te renvoier plus d'un résultat alors il faut les traiter par une boucle while
par ce que toi tu ne traite qu'un seul par $personnes = mysql_fetch_array($req_array1);" a dit Alain_42

->Tu ne traiteras en effet que le premier résultat renvoyé.

Si tu fais
while ($personnes = mysql_fetch_array($req_array1))
{
$personnes_licence = $personnes['LICENCE'];
}
Tu ne traiteras que le dernier résultat renvoyé. Par exemple si $personnes['LICENCE']; = 1 au premier passage, 2 au deuxième passage et 3 au 3 ième passage, $personnes_licence vaudra 3. Et les deux premiers résultats seront"perdus"/pas pris en compte.
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
2 déc. 2008 à 16:59
ok j'ai compris jvien de modifier merci

par contre je voudrais tester quand la table est vide et donc je fais un

if ($matchs['NUM_RESULTAT']='' && $matchs['INTITULE']='' && $matchs['RESULTAT']='' && $matchs['CLASSEMENT']='')

en ayant fait une boucle while auparavant

mais ca nefonctionne pas en faite je passe direct dans le else donc auriez vous une subtilité svp?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
2 déc. 2008 à 17:51
Bonsoir,

pour savoir si une table est vide, il suffit de compter combien elle contient d'enregistrements:

$query = "SELECT count(*) from MATCHS";
$result = mysql_query($query) or die (mysql_error());

$row=mysql_fetch_row($result);

$nb_enregistrements=$row[0]; //nombres d'enr dans la table MATCHS


// ensuite:

if($nb_enregistrements == 0 )   //elle est vide

0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
2 déc. 2008 à 18:15
pas bête du tout ca lol par contre j'ai un nouveau problème lol je suis désolé

Warning: mysql_query() [function.mysql-query]: Unable to save result set in /mnt/104/sdb/7/8/site.inter/TC_Besseen/Classement/resultat.php on line 185

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/104/sdb/7/8/site.inter/TC_Besseen/Classement/resultat.php on line 186

$req_array3 = mysql_query(" SELECT M.DATE, M.TOUR, M.CLASSEMENT, M.SCORE_1_SET, M.SCORE_2_SET, M.SCORE_3_SET, P.NOM, P.LICENCE, P.NUM_CLUB
FROM PERSONNES P, MATCHS M
WHERE P.NOM = (select NOM
from PERSONNES P,MATCHS M
where P.LICENCE = M.ADVERSAIRE)
AND M.INTITULE IN (
SELECT INTITULE
FROM PARTICIPER
WHERE LICENCE = (
SELECT LICENCE
FROM PERSONNES
WHERE NOM = '".$nom."'
AND PRENOM = '".$prenom."')
)");
while ($matchs = mysql_fetch_array($req_array3))
{
if ($matchs['NUM_RESULTAT']='' && $matchs['INTITULE']='' && $matchs['RESULTAT']='' && $matchs['CLASSEMENT']='')
{
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
2 déc. 2008 à 20:43
up
0
Archeus01 Messages postés 1572 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 452
2 déc. 2008 à 22:43
WHERE P.NOM = (select NOM
from PERSONNES P,MATCHS M
where P.LICENCE = M.ADVERSAIRE)

est-ce que ça peut te retourner plusieurs noms? Remplace par des like les deux = précedant une sous-requete...
C'est surement pas ça mais vu qu'on a pas tes tables, c'est chaud de t'aider.
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
2 déc. 2008 à 23:13
pardon voici le mld dema base

Compte_utilisateur (login,mdp,licence)
cp = login
ce = licence qui reference Personnes.licence

Personnes(licence,nom,prenom,naissance,num_club,classement,s­­exe,mail,licence_jouer)
cp = licence
ce = licence_jouer qui reference personnes.licence

Tournoi (intitule,type,surface,date_début,date_fin,tournoi remporte)
cp = intitule

Matchs (num_resultat,intitule,date,resultat,classement,score_1_set,­­score_2_set,score_3_set,tour,format,durée,format,wo)
cp = num_resultat
ce = intitule qui reference Tournoi.intitule

Participer (intitulé,licence)
cp = (licence,intitulé)
ce = licence qui reference Tournoi.intitulé
ce = licence qui reference Personnes.licence
0