Page 1 sur 1

Besoin d'aide dans du code php ...

Posté : 11 août 2010, 20:17
par @urelien
Bonjour à tous,

Je reprends actuellement en main le code de mon site et n'y connaissant pas grand chose en php/mysql je galere grave.

J'ai un probleme de requete et d'affichage dans une page agenda.
Y'aura t'il une bonne ame pour jeter un coup d'oeil a mon code ?

Je vous envoi le fichier par mail ou msn si vous etes ok.

Merci d'avance :D

Re: Besoin d'aide dans du code php ...

Posté : 12 août 2010, 16:53
par ouckileou
Pourquoi tu n'expliques pas ton problème plus clairement ici et en fournissant directement le code ?

Re: Besoin d'aide dans du code php ...

Posté : 12 août 2010, 20:50
par @urelien
Dans la version actuelle du site j'ai un agenda ou les evenements s'affiche dans une page par date et ou une boucle les classes par categorie (concert, theatre ...).
Voici le lien : http://www.nightfever.fr/n63show.php?link=agenda

Je veux creer une page agenda ou les evenements s'affiche dans une page par categorie et ou s'afficheront toutes les dates de la meme categorie grace à une boucle.
Malheureusement je ne suis pas un champion du code et la je galere pour paramettrer ma boucle.

A votre avis comment parametrer ma boucle ? Comment la coder ?

Voici mon code source de la page (probablement erroné) :


<?

/*-----------------------------------
* Includes
-------------------------------------*/
/**/ require_once("./includes/inc_newsFunctions.php");


/*************************************
PARAMS' DEFAULT VALUES
*************************************/
$choixagenda = "";
$nbrSoireeAffiche = 0;
$nbrAgendaDate = $nbrTodayNewsDate;

/*************************************
VARIABLE
*************************************/

// Variable Get
if ( strlen($HTTP_GET_VARS['showdate']) > 15 ) {
// si l'id n'est pas passée en variable
setErrorMessage(L_ERROR_AGENDA);
?>
<script>
window.location = '../n63show.php';
</script>
<? exit();
} else {
if ( isset($HTTP_GET_VARS['showdate']) && is_numeric($HTTP_GET_VARS['showdate']) ){
$nbrAgendaDate = $HTTP_GET_VARS['showdate'];
}
}

/*************************************
Constante de date
*************************************/

$jour = date( "d", $nbrAgendaDate );
$mois = date( "m", $nbrAgendaDate );
$moisagenda = translateDate( date( "M", $nbrAgendaDate) );
$annee = date( "Y", $nbrAgendaDate );

$selection = 0;
$titredate2 = $jour.' '.$moisagenda.' '.$annee;

?>
<table width="580" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="top">
<td colspan="2" valign="middle">
<? $sqlQuery =
" SELECT SOIREE_DATE " .
" FROM SOIREE".
" ORDER BY SOIREE_ID ASC";
$req = mysql_query($sqlQuery);
checkSqlError($sqlQuery);
$nbreTypeSoiree = mysql_num_rows($req);
$evenementListe = mysql_fetch_array($req); ?>
</td>
</tr>
</table>
<fieldset>
<legend class="legend">Concerts - <? echo(getDepartementFromId($idSecteur, $idDepartement)) ?>&nbsp;</legend>
<br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><p>
<?
//début de la boucle d'affichage des cadres d'événements
for ($boucleSoireeType = 1; $boucleSoireeType <= $nbreTypeSoiree ; $boucleSoireeType++)
{


//recherche le type de la selection en cours
$sqlQuery =
" SELECT SOIREE_DATE ".
" FROM SOIREE ".
" WHERE UNIX_TIMESTAMP(SOIREE_DATE) = '$boucleSoireeType'".
" ORDER BY SOIREE_ID DESC LIMIT 0,1";
$req = mysql_query($sqlQuery);
checkSqlError($sqlQuery);
$soireeType = mysql_fetch_array($req);


//recherche les valeurs des soirées de la selection en cours
$sqlQuery =
" SELECT SOIREE_ID , EVENEMENT_TYPE_LABEL , SOIREE_TITLE , SOIREE_DESCRIPTION , SOIREE_DATE , SOIREE_DATE_FIN , SOIREE_LIEU , SOIREE_PRIX , SOIREE_HEURE" .
" FROM SOIREE ".
" INNER JOIN EVENEMENT_TYPE ON EVENEMENT_TYPE.EVENEMENT_TYPE_ID = SOIREE_TYPE".
" WHERE ( SOIREE_SECTEUR = '$idSecteur' AND UNIX_TIMESTAMP(SOIREE_DATE) = $nbrAgendaDate AND SOIREE_TYPE = '1' )".
" OR ( UNIX_TIMESTAMP(SOIREE_DATE) < '$nbrAgendaDate' AND UNIX_TIMESTAMP(SOIREE_DATE_FIN) >='$nbrAgendaDate' AND SOIREE_SECTEUR = '$idSecteur') AND SOIREE_TYPE = '1'".
" ORDER BY SOIREE_ID DESC ";
$req = mysql_query($sqlQuery);
checkSqlError($sqlQuery);
$nbreligne = mysql_num_rows($req);

//si pas de réponse on affiche pas le code
if ( $nbreligne )
{ ?>
</p>
<table width="95%%" border="0" align="center" cellspacing="0">
<tr>
<td valign="bottom"> <p><strong> <? echo($soireeType['SOIREE_DATE']) ?></strong></p></td>
</tr>
</table>
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="agenda_center">
<tr>
<td>
<?
// boucle d'affichage des soir&eacute;es
while($data = mysql_fetch_array($req))
{
$nbrSoireeAffiche ++ ;
$agendadatefin=$data['SOIREE_DATE_FIN'];?>
<table width="95%" border="0" align="center" cellspacing="0">
<tr valign="bottom">
<td colspan="2"></td>
</tr>
<tr>
<td width="69%" valign="top"><blockquote>
<p><a class="agenda" href="n63show.php?link=agendadetail&idAgendaDetail=<? echo($data['SOIREE_ID']) ?>"><? echo($data['SOIREE_TITLE']) ?></a>
<br />
Lieu: <? if ( isPlace($data['SOIREE_LIEU']) )
{ ?>
<a href="n63show.php?link=detail&idDetail=<? echo(isPlace($data['SOIREE_LIEU'])) ?>" class="messagedate"><? echo($data['SOIREE_LIEU'] )?></a>
<? } else {
echo($data['SOIREE_LIEU']);
}?><br />
</p>
</blockquote></td>
<td width="31%" valign="top"><ul>
<li>Tarifs:
<? if ( $data['SOIREE_PRIX'] == 0) { ?>
Gratuit
<? } if ( $data['SOIREE_PRIX'] > 0 && $data['SOIREE_PRIX'] < 999) { ?>
<? echo($data['SOIREE_PRIX']) ?> &euro;
<? } if ( $data['SOIREE_PRIX'] == 999) { ?>
Nc
<? } ?>
<br />
[<a class="messagelink" href="n63show.php?link=agendadetail&idAgendaDetail=<? echo($data['SOIREE_ID']) ?>">+
de d&eacute;tails</a>]</li>
</ul></td>
</tr>
</table>
<? } ?>
</td>
</tr>
</table>
<br> <p>&nbsp;</p>
<p>
<? //fin du test
}

}

if ( $nbrSoireeAffiche == 0 ) {
?>
</p>
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="agenda_center">
<tr>
<td><br /> <hr width="90%" /> <p align="center">!!! Aucune activit&eacute;
ce soir !!!<br />
</p>
<hr width="90%" /> <br /></td>
</tr>
</table>
<p align="left">
<?
}?>
</p>
<p>&nbsp;</p></td>
</tr>
</table>
</fieldset>
<p>&nbsp; </p>
</td>
</tr>
</table>

Re: Besoin d'aide dans du code php ...

Posté : 13 août 2010, 02:25
par @urelien
J'ai tenté de trouver une solution ... en vain.

Voici ou j'en suis :

Merci à tous ceux qui pourront m'aider

Code : Tout sélectionner

<? /*----------------------------------- * Includes -------------------------------------*/ /**/ require_once("./includes/inc_newsFunctions.php"); /************************************* PARAMS' DEFAULT VALUES *************************************/ $choixagenda = ""; $nbrSoireeAffiche = 0; $nbrAgendaDate = $nbrTodayNewsDate; /************************************* VARIABLE *************************************/ // Variable Get if ( strlen($HTTP_GET_VARS['showdate']) > 15 ) { // si l'id n'est pas passée en variable setErrorMessage(L_ERROR_AGENDA); ?> <script> window.location = '../n63show.php'; </script> <? exit(); } else { if ( isset($HTTP_GET_VARS['showdate']) && is_numeric($HTTP_GET_VARS['showdate']) ){ $nbrAgendaDate = $HTTP_GET_VARS['showdate']; } } /************************************* Constante de date *************************************/ $jour = date( "d", $nbrAgendaDate ); $mois = date( "m", $nbrAgendaDate ); $moisagenda = translateDate( date( "M", $nbrAgendaDate) ); $annee = date( "Y", $nbrAgendaDate ); $selection = 0; $titredate2 = $jour.' '.$moisagenda.' '.$annee; ?> <table width="580" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td colspan="2"> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr valign="top"> <td colspan="2" valign="middle"> <? $sqlQuery = " SELECT SOIREE_DATE " . " FROM SOIREE". " WHERE SOIREE_TYPE = '1' AND SOIREE_DATE = 'CURRENT_DATE' AND SOIREE_SECTEUR = '$idSecteur'". " ORDER BY SOIREE_ID ASC"; $req = mysql_query($sqlQuery); checkSqlError($sqlQuery); $nbreSoiree = mysql_num_rows($req); $soireeListe = mysql_fetch_array($req); ?> </td> </tr> </table> <fieldset> <legend class="legend">Concerts - <? echo(getDepartementFromId($idSecteur, $idDepartement)) ?>&nbsp;</legend> <br> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><p> <? //début de la boucle d'affichage des cadres d'événements for ($soireeDate = mktime(0,0,0,$mois,$jour,$annee ); $nbreSoireeBis <= $nbreSoiree ; $soireeDate = mktime(0,0,0,$mois,$jour+1,$annee )) { //recherche le type de la selection en cours $sqlQuery = " SELECT SOIREE_DATE ". " FROM SOIREE ". " WHERE SOIREE_TYPE = '1' AND SOIREE_DATE = 'CURRENT_DATE' AND SOIREE_SECTEUR = '$idSecteur'". " ORDER BY SOIREE_ID DESC LIMIT 0,1"; $req = mysql_query($sqlQuery); checkSqlError($sqlQuery); $nbreSoireeBis = mysql_num_rows($req); $soireeDate = mysql_fetch_array($req); //recherche les valeurs des soirées de la selection en cours $sqlQuery = " SELECT SOIREE_ID , EVENEMENT_TYPE_LABEL , SOIREE_TITLE , SOIREE_DESCRIPTION , SOIREE_DATE , SOIREE_DATE_FIN , SOIREE_LIEU , SOIREE_PRIX , SOIREE_HEURE" . " FROM SOIREE ". " INNER JOIN EVENEMENT_TYPE ON EVENEMENT_TYPE.EVENEMENT_TYPE_ID = SOIREE_TYPE". " WHERE ( SOIREE_SECTEUR = '$idSecteur' AND UNIX_TIMESTAMP(SOIREE_DATE) = $nbrAgendaDate AND SOIREE_TYPE = '1' )". " OR ( UNIX_TIMESTAMP(SOIREE_DATE) < '$nbrAgendaDate' AND UNIX_TIMESTAMP(SOIREE_DATE_FIN) >='$nbrAgendaDate' AND SOIREE_SECTEUR = '$idSecteur') AND SOIREE_TYPE = '1'". " ORDER BY SOIREE_ID DESC "; $req = mysql_query($sqlQuery); checkSqlError($sqlQuery); $nbreligne = mysql_num_rows($req); //si pas de réponse on affiche pas le code if ( $nbreligne ) { ?> </p> <table width="95%%" border="0" align="center" cellspacing="0"> <tr> <td valign="bottom"> <p><strong> <? echo($soireeDate['SOIREE_DATE']) ?></strong></p></td> </tr> </table> <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="agenda_center"> <tr> <td> <? // boucle d'affichage des soir&eacute;es while($data = mysql_fetch_array($req)) { $nbrSoireeAffiche ++ ; $agendadatefin=$data['SOIREE_DATE_FIN'];?> <table width="95%" border="0" align="center" cellspacing="0"> <tr valign="bottom"> <td colspan="2"></td> </tr> <tr> <td width="69%" valign="top"><blockquote> <p><a class="agenda" href="n63show.php?link=agendadetail&idAgendaDetail=<? echo($data['SOIREE_ID']) ?>"><? echo($data['SOIREE_TITLE']) ?></a> <br /> Lieu: <? if ( isPlace($data['SOIREE_LIEU']) ) { ?> <a href="n63show.php?link=detail&idDetail=<? echo(isPlace($data['SOIREE_LIEU'])) ?>" class="messagedate"><? echo($data['SOIREE_LIEU'] )?></a> <? } else { echo($data['SOIREE_LIEU']); }?><br /> </p> </blockquote></td> <td width="31%" valign="top"><ul> <li>Tarifs: <? if ( $data['SOIREE_PRIX'] == 0) { ?> Gratuit <? } if ( $data['SOIREE_PRIX'] > 0 && $data['SOIREE_PRIX'] < 999) { ?> <? echo($data['SOIREE_PRIX']) ?> &euro; <? } if ( $data['SOIREE_PRIX'] == 999) { ?> Nc <? } ?> <br /> [<a class="messagelink" href="n63show.php?link=agendadetail&idAgendaDetail=<? echo($data['SOIREE_ID']) ?>">+ de d&eacute;tails</a>]</li> </ul></td> </tr> </table> <? } ?> </td> </tr> </table> <br> <p>&nbsp;</p> <p> <? //fin du test } } if ( $nbrSoireeAffiche == 0 ) { ?> </p> <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="agenda_center"> <tr> <td><br /> <hr width="90%" /> <p align="center">!!! Aucune activit&eacute; ce soir !!!<br /> </p> <hr width="90%" /> <br /></td> </tr> </table> <p align="left"> <? }?> </p> <p>&nbsp;</p></td> </tr> </table> </fieldset> <p>&nbsp; </p> </td> </tr> </table>