par
Nico » 06 avr. 2009, 13:31
Alors je reviens pour vous montrer un premier rendu de ce que j'ai fait !
L'aspect graphique est au minimum, pour le moment je me concentre sur la programmation.
L'index :
<?php
// Inclusion des fichiers configs
require_once('conf/data.sql.php');
require_once('conf/func.sql.php');
require_once('conf/fonctions.php');
// Connexion à la BDD
connection_BD();
// Pour éviter les notices !
$clean = array();
$clean['categorie'] = (!empty($_POST['categorie']) ? (int)$_POST['categorie'] : NULL);
$clean['ss_categorie'] = (!empty($_POST['ss_categorie']) ? (int)$_POST['ss_categorie'] : NULL);
$clean['marques'] = (!empty($_POST['marques']) ? (int)$_POST['marques'] : NULL);
$clean['modeles'] = (!empty($_POST['modeles']) ? (int)$_POST['modeles'] : NULL);
// On efface la selection d'une liste si c'est demandé !
if(isset($_POST['remove_categorie'])) {
$_POST['categorie'] = NULL;
$clean['categorie'] = NULL;
$_POST['ss_categorie'] = NULL;
$clean['ss_categorie'] = NULL;
$_POST['marques'] = NULL;
$clean['marques'] = NULL;
$_POST['modeles'] = NULL;
$clean['modeles'] = NULL;
}
if(isset($_POST['remove_ss_categorie'])) {
$_POST['ss_categorie'] = NULL;
$clean['ss_categorie'] = NULL;
$_POST['marques'] = NULL;
$clean['marques'] = NULL;
$_POST['modeles'] = NULL;
$clean['modeles'] = NULL;
}
if(isset($_POST['remove_marques'])) {
$_POST['marques'] = NULL;
$clean['marques'] = NULL;
$_POST['modeles'] = NULL;
$clean['modeles'] = NULL;
}
if(isset($_POST['remove_modeles'])) {
$_POST['modeles'] = NULL;
$clean['modeles'] = NULL;
}
?>
<?php require_once('header.php'); ?>
<?php /*print_r($_POST); echo '<hr>'; print_r($clean);*/ ?>
<?php if(isset($_POST['ajouter_annonce'])) print_r($_POST); ?>
<div id="global">
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td>Sélectionnez la catégorie :</td>
<td><?php getCat(); ?> <?php submit2modif('categorie',$clean['categorie']); ?></td>
</tr>
<?php
if(!empty($_POST['categorie'])){
?>
<tr>
<td>Sélectionnez la sous catégorie :</td>
<td><?php getSousCat($_POST['categorie']); ?> <?php submit2modif('ss_categorie',$clean['ss_categorie']); ?></td>
</tr>
<?php
}
?>
<?php
if(!empty($_POST['ss_categorie'])){
?>
<tr>
<td>Sélectionnez la marque :</td>
<td><?php getMarques($_POST['ss_categorie']); ?> <?php submit2modif('marques',$clean['marques']); ?></td>
</tr>
<?php
}
?>
<?php
if(!empty($_POST['marques'])){
?>
<tr>
<td>Sélectionnez le modèle :</td>
<td><?php getModeles($_POST['marques']); ?> <?php submit2modif('modeles',$clean['modeles']); ?></td>
</tr>
<?php
}
?>
<?php
if(!empty($_POST['categorie']) && !empty($_POST['ss_categorie']) && !empty($_POST['marques']) && !empty($_POST['modeles'])){
?>
<tr>
<td colspan="2"><input type="submit" name="ajouter_annonce" value="Ajouter l'annonce" /></td>
</tr>
<?php
}
?>
</table>
</form>
</div>
<?php require_once('footer.php'); ?>
Et les fonctions :
<?php
function getCat() {
if(!empty($_POST['categorie'])){
$cat_id = (int)$_POST['categorie'];
$req_categorie = 'SELECT * FROM categories WHERE cat_id = '.$cat_id;
$res_categorie = sql_query($req_categorie,'AFF NOM CAT');
$nbre_categorie = mysql_num_rows($res_categorie);
if($nbre_categorie > 0){
$ligne_categorie = mysql_fetch_assoc($res_categorie);
echo '<strong>'.utf8_encode($ligne_categorie['cat_nom']).'</strong>';
echo '<input type="hidden" name="categorie" value="'.$ligne_categorie['cat_id'].'" />';
}
else{
echo '<input type="hidden" name="categorie" value="0" />';
}
}else{
$req_categorie = 'SELECT * FROM categories';
$res_categorie = sql_query($req_categorie,'AFF CAT');
?>
<select name="categorie" style="width:350px;" id="categorie">
<option value="0">----------</option>
<?php
while(FALSE !== ($ligne_categorie = mysql_fetch_assoc($res_categorie)) )
{
echo '<option value="'.$ligne_categorie['cat_id'].'">'.utf8_encode($ligne_categorie['cat_nom']).'</option>'."\r\n";
}
?>
</select>
<?php
}
}
function getSousCat($id) {
if(!empty($_POST['ss_categorie'])){
$ss_cat_id = (int)$_POST['ss_categorie'];
$req_ss_categorie = 'SELECT * FROM `ss-categories` WHERE `ss-cat_id` = '.$ss_cat_id;
$res_ss_categorie = sql_query($req_ss_categorie,'AFF NOM SS CAT');
$nbre_ss_categorie = mysql_num_rows($res_ss_categorie);
if($nbre_ss_categorie > 0){
$ligne_ss_categorie = mysql_fetch_assoc($res_ss_categorie);
echo '<strong>'.utf8_encode($ligne_ss_categorie['ss-cat_nom']).'</strong>';
echo '<input type="hidden" name="ss_categorie" value="'.$ligne_ss_categorie['ss-cat_id'].'" />';
}
else{
echo '<input type="hidden" name="ss_categorie" value="0" />';
}
}else{
$id_categorie = sql_protect($id);
$req_ss_categorie = 'SELECT * FROM `ss-categories` WHERE `ss-cat_parent` = "'.$id_categorie.'" ORDER BY `ss-cat_nom` ASC';
$res_ss_categorie = sql_query($req_ss_categorie,'AFF SS CAT');
?>
<select name="ss_categorie" style="width:350px;" id="ss_categorie">
<option value="0">----------</option>
<?php
while(FALSE !== ($ligne_ss_categorie = mysql_fetch_assoc($res_ss_categorie)) )
{
echo '<option value="'.$ligne_ss_categorie['ss-cat_id'].'">'.utf8_encode($ligne_ss_categorie['ss-cat_nom']).'</option>'."\r\n";
}
?>
</select>
<?php
}
}
function getMarques($id) {
if(!empty($_POST['marques'])){
$marques_id = (int)$_POST['marques'];
$req_marques = 'SELECT * FROM `marques` WHERE `marques_id` = '.$marques_id;
$res_marques = sql_query($req_marques,'AFF NOM MARQUE');
$nbre_marques = mysql_num_rows($res_marques);
if($nbre_marques > 0){
$ligne_marques = mysql_fetch_assoc($res_marques);
echo '<strong>'.utf8_encode($ligne_marques['marques_nom']).'</strong>';
echo '<input type="hidden" name="marques" value="'.$ligne_marques['marques_id'].'" />';
}
else{
echo '<input type="hidden" name="marques" value="0" />';
}
}else{
$id_ss_cat = sql_protect($id);
$req_marques = 'SELECT * FROM `marques` WHERE `marques_parent` = "'.$id_ss_cat.'" ORDER BY marques_nom ASC';
$res_marques = sql_query($req_marques,'AFF MARQUES');
?>
<select name="marques" style="width:350px;" id="marques">
<option value="0">----------</option>
<?php
while(FALSE !== ($ligne_marques = mysql_fetch_assoc($res_marques)) )
{
echo '<option value="'.$ligne_marques['marques_id'].'">'.utf8_encode($ligne_marques['marques_nom']).'</option>'."\r\n";
}
?>
</select>
<?php
}
}
function getModeles($id) {
if(!empty($_POST['modeles'])){
$modeles_id = (int)$_POST['modeles'];
$req_modeles = 'SELECT * FROM `modeles` WHERE `modeles_id` = '.$modeles_id;
$res_modeles = sql_query($req_modeles,'AFF NOM MODELE');
$nbre_modeles = mysql_num_rows($res_modeles);
if($nbre_modeles > 0){
$ligne_modeles = mysql_fetch_assoc($res_modeles);
echo '<strong>'.utf8_encode($ligne_modeles['modeles_nom']).'</strong>';
echo '<input type="hidden" name="modeles" value="'.$ligne_modeles['modeles_id'].'" />';
}
else{
echo '<input type="hidden" name="modeles" value="0" />';
}
}else{
$id_marques = sql_protect($id);
$req_modeles = 'SELECT * FROM `modeles` WHERE `modeles_parent` = "'.$id_marques.'" ORDER BY modeles_nom ASC';
$res_modeles = sql_query($req_modeles,'AFF MODELES');
?>
<select name="modeles" style="width:350px;" id="modeles">
<option value="0">----------</option>
<?php
while(FALSE !== ($ligne_modeles = mysql_fetch_assoc($res_modeles)) )
{
echo '<option value="'.$ligne_modeles['modeles_id'].'">'.utf8_encode($ligne_modeles['modeles_nom']).'</option>'."\r\n";
}
?>
</select>
<?php
}
}
function submit2modif($post,$valeur){
if(!empty($valeur)){
echo '<input type="submit" name="remove_'.$post.'" value="Modifier" />';
}
else{
echo '<input type="submit" name="submit_liste" value="OK" />';
}
}
?>
et voici la page d'exemple :
http://annonces.espacetrial.com/etape1.php
Qu'en pensez vous ?
- D'un point de vue ergonomique, facile d'accès et compréhensible ?
Coté sécurité et ma façon de programmer en php ?
Merci
Alors je reviens pour vous montrer un premier rendu de ce que j'ai fait !
L'aspect graphique est au minimum, pour le moment je me concentre sur la programmation.
L'index :
[php]
<?php
// Inclusion des fichiers configs
require_once('conf/data.sql.php');
require_once('conf/func.sql.php');
require_once('conf/fonctions.php');
// Connexion à la BDD
connection_BD();
// Pour éviter les notices !
$clean = array();
$clean['categorie'] = (!empty($_POST['categorie']) ? (int)$_POST['categorie'] : NULL);
$clean['ss_categorie'] = (!empty($_POST['ss_categorie']) ? (int)$_POST['ss_categorie'] : NULL);
$clean['marques'] = (!empty($_POST['marques']) ? (int)$_POST['marques'] : NULL);
$clean['modeles'] = (!empty($_POST['modeles']) ? (int)$_POST['modeles'] : NULL);
// On efface la selection d'une liste si c'est demandé !
if(isset($_POST['remove_categorie'])) {
$_POST['categorie'] = NULL;
$clean['categorie'] = NULL;
$_POST['ss_categorie'] = NULL;
$clean['ss_categorie'] = NULL;
$_POST['marques'] = NULL;
$clean['marques'] = NULL;
$_POST['modeles'] = NULL;
$clean['modeles'] = NULL;
}
if(isset($_POST['remove_ss_categorie'])) {
$_POST['ss_categorie'] = NULL;
$clean['ss_categorie'] = NULL;
$_POST['marques'] = NULL;
$clean['marques'] = NULL;
$_POST['modeles'] = NULL;
$clean['modeles'] = NULL;
}
if(isset($_POST['remove_marques'])) {
$_POST['marques'] = NULL;
$clean['marques'] = NULL;
$_POST['modeles'] = NULL;
$clean['modeles'] = NULL;
}
if(isset($_POST['remove_modeles'])) {
$_POST['modeles'] = NULL;
$clean['modeles'] = NULL;
}
?>
<?php require_once('header.php'); ?>
<?php /*print_r($_POST); echo '<hr>'; print_r($clean);*/ ?>
<?php if(isset($_POST['ajouter_annonce'])) print_r($_POST); ?>
<div id="global">
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td>Sélectionnez la catégorie :</td>
<td><?php getCat(); ?> <?php submit2modif('categorie',$clean['categorie']); ?></td>
</tr>
<?php
if(!empty($_POST['categorie'])){
?>
<tr>
<td>Sélectionnez la sous catégorie :</td>
<td><?php getSousCat($_POST['categorie']); ?> <?php submit2modif('ss_categorie',$clean['ss_categorie']); ?></td>
</tr>
<?php
}
?>
<?php
if(!empty($_POST['ss_categorie'])){
?>
<tr>
<td>Sélectionnez la marque :</td>
<td><?php getMarques($_POST['ss_categorie']); ?> <?php submit2modif('marques',$clean['marques']); ?></td>
</tr>
<?php
}
?>
<?php
if(!empty($_POST['marques'])){
?>
<tr>
<td>Sélectionnez le modèle :</td>
<td><?php getModeles($_POST['marques']); ?> <?php submit2modif('modeles',$clean['modeles']); ?></td>
</tr>
<?php
}
?>
<?php
if(!empty($_POST['categorie']) && !empty($_POST['ss_categorie']) && !empty($_POST['marques']) && !empty($_POST['modeles'])){
?>
<tr>
<td colspan="2"><input type="submit" name="ajouter_annonce" value="Ajouter l'annonce" /></td>
</tr>
<?php
}
?>
</table>
</form>
</div>
<?php require_once('footer.php'); ?>
[/php]
Et les fonctions :
[php]
<?php
function getCat() {
if(!empty($_POST['categorie'])){
$cat_id = (int)$_POST['categorie'];
$req_categorie = 'SELECT * FROM categories WHERE cat_id = '.$cat_id;
$res_categorie = sql_query($req_categorie,'AFF NOM CAT');
$nbre_categorie = mysql_num_rows($res_categorie);
if($nbre_categorie > 0){
$ligne_categorie = mysql_fetch_assoc($res_categorie);
echo '<strong>'.utf8_encode($ligne_categorie['cat_nom']).'</strong>';
echo '<input type="hidden" name="categorie" value="'.$ligne_categorie['cat_id'].'" />';
}
else{
echo '<input type="hidden" name="categorie" value="0" />';
}
}else{
$req_categorie = 'SELECT * FROM categories';
$res_categorie = sql_query($req_categorie,'AFF CAT');
?>
<select name="categorie" style="width:350px;" id="categorie">
<option value="0">----------</option>
<?php
while(FALSE !== ($ligne_categorie = mysql_fetch_assoc($res_categorie)) )
{
echo '<option value="'.$ligne_categorie['cat_id'].'">'.utf8_encode($ligne_categorie['cat_nom']).'</option>'."\r\n";
}
?>
</select>
<?php
}
}
function getSousCat($id) {
if(!empty($_POST['ss_categorie'])){
$ss_cat_id = (int)$_POST['ss_categorie'];
$req_ss_categorie = 'SELECT * FROM `ss-categories` WHERE `ss-cat_id` = '.$ss_cat_id;
$res_ss_categorie = sql_query($req_ss_categorie,'AFF NOM SS CAT');
$nbre_ss_categorie = mysql_num_rows($res_ss_categorie);
if($nbre_ss_categorie > 0){
$ligne_ss_categorie = mysql_fetch_assoc($res_ss_categorie);
echo '<strong>'.utf8_encode($ligne_ss_categorie['ss-cat_nom']).'</strong>';
echo '<input type="hidden" name="ss_categorie" value="'.$ligne_ss_categorie['ss-cat_id'].'" />';
}
else{
echo '<input type="hidden" name="ss_categorie" value="0" />';
}
}else{
$id_categorie = sql_protect($id);
$req_ss_categorie = 'SELECT * FROM `ss-categories` WHERE `ss-cat_parent` = "'.$id_categorie.'" ORDER BY `ss-cat_nom` ASC';
$res_ss_categorie = sql_query($req_ss_categorie,'AFF SS CAT');
?>
<select name="ss_categorie" style="width:350px;" id="ss_categorie">
<option value="0">----------</option>
<?php
while(FALSE !== ($ligne_ss_categorie = mysql_fetch_assoc($res_ss_categorie)) )
{
echo '<option value="'.$ligne_ss_categorie['ss-cat_id'].'">'.utf8_encode($ligne_ss_categorie['ss-cat_nom']).'</option>'."\r\n";
}
?>
</select>
<?php
}
}
function getMarques($id) {
if(!empty($_POST['marques'])){
$marques_id = (int)$_POST['marques'];
$req_marques = 'SELECT * FROM `marques` WHERE `marques_id` = '.$marques_id;
$res_marques = sql_query($req_marques,'AFF NOM MARQUE');
$nbre_marques = mysql_num_rows($res_marques);
if($nbre_marques > 0){
$ligne_marques = mysql_fetch_assoc($res_marques);
echo '<strong>'.utf8_encode($ligne_marques['marques_nom']).'</strong>';
echo '<input type="hidden" name="marques" value="'.$ligne_marques['marques_id'].'" />';
}
else{
echo '<input type="hidden" name="marques" value="0" />';
}
}else{
$id_ss_cat = sql_protect($id);
$req_marques = 'SELECT * FROM `marques` WHERE `marques_parent` = "'.$id_ss_cat.'" ORDER BY marques_nom ASC';
$res_marques = sql_query($req_marques,'AFF MARQUES');
?>
<select name="marques" style="width:350px;" id="marques">
<option value="0">----------</option>
<?php
while(FALSE !== ($ligne_marques = mysql_fetch_assoc($res_marques)) )
{
echo '<option value="'.$ligne_marques['marques_id'].'">'.utf8_encode($ligne_marques['marques_nom']).'</option>'."\r\n";
}
?>
</select>
<?php
}
}
function getModeles($id) {
if(!empty($_POST['modeles'])){
$modeles_id = (int)$_POST['modeles'];
$req_modeles = 'SELECT * FROM `modeles` WHERE `modeles_id` = '.$modeles_id;
$res_modeles = sql_query($req_modeles,'AFF NOM MODELE');
$nbre_modeles = mysql_num_rows($res_modeles);
if($nbre_modeles > 0){
$ligne_modeles = mysql_fetch_assoc($res_modeles);
echo '<strong>'.utf8_encode($ligne_modeles['modeles_nom']).'</strong>';
echo '<input type="hidden" name="modeles" value="'.$ligne_modeles['modeles_id'].'" />';
}
else{
echo '<input type="hidden" name="modeles" value="0" />';
}
}else{
$id_marques = sql_protect($id);
$req_modeles = 'SELECT * FROM `modeles` WHERE `modeles_parent` = "'.$id_marques.'" ORDER BY modeles_nom ASC';
$res_modeles = sql_query($req_modeles,'AFF MODELES');
?>
<select name="modeles" style="width:350px;" id="modeles">
<option value="0">----------</option>
<?php
while(FALSE !== ($ligne_modeles = mysql_fetch_assoc($res_modeles)) )
{
echo '<option value="'.$ligne_modeles['modeles_id'].'">'.utf8_encode($ligne_modeles['modeles_nom']).'</option>'."\r\n";
}
?>
</select>
<?php
}
}
function submit2modif($post,$valeur){
if(!empty($valeur)){
echo '<input type="submit" name="remove_'.$post.'" value="Modifier" />';
}
else{
echo '<input type="submit" name="submit_liste" value="OK" />';
}
}
?>
[/php]
et voici la page d'exemple : http://annonces.espacetrial.com/etape1.php
Qu'en pensez vous ?
[list]
D'un point de vue ergonomique, facile d'accès et compréhensible ?
Coté sécurité et ma façon de programmer en php ?
[/list]
Merci