Problème pour faire marcher ce script

augustin78 Messages postés 72 Statut Membre -  
Exileur Messages postés 1621 Statut Membre -
Bonjour, j'ai un problème avec le script suivant: ma page index.php ci-dessous, ma page config et ma base. Je n'arrive pas à me connecter à ma base, et je ne vois pas pourquoi ça ne renvoi aucun résultats. Merci aux personnes qui pourront m'éclairer!

index.php
<?php
session_start();
require_once("config.php");
?>
 
 
<?php
function coche($arg){
    global $couleur;   
    $i=0;
    while($couleur[$i]){
            if($couleur[$i]==$arg){return TRUE;
            break;
            }  
    $i++;
    }
}
 
//--- fonction pourles limites d'affichage
function nbp($total,$increment){
$reste=$total % $increment;
$total=$total-$reste;
 
$j=0;
for($i=0;$i<=$total; $i=$i+$increment){
$j++;
}
if($reste==0){$j--;}
return $j;
}
 
//-----------------
 
 
 
/* === CODE A CHANGER =========
$flag=0;                   
if(isset($_POST['submit'])){
extract($_POST);
 $flag=1;
=====================pour celui ci-dessous =========*/
 
if(!empty($_POST)){
$_SESSION['tab']=$_POST;
 
$tab=$_POST;
extract($tab);
 
$page=1;
}
 
 
 
if($_GET['flag']==1){
extract($_SESSION['tab']);
}
 
//==========================
 
 
$i=0;
    if($prix>0) {
 
 
        $choix[$i++] = "prix ";
    switch($prix){
 
        case 1:
        $choix[$i++] = "< 1000";    
        break;
 
        case 2:
        $choix[$i++] = ">= 1000 AND prix <=2000";
        break;
 
        case 3:
        $choix[$i++] = ">=2000";
        break;
        }
    }  
 
    if($velo){
        $choix[$i++] = "velo =";
        $choix[$i++] = $velo;              
    }
 
    if($voiture){
        $choix[$i++] = "voiture =";
        $choix[$i++] = $voiture;               
    }
 
 
 
   if($etat){
    $choix[$i++] = "etat = '";
    $choix[$i++] = $etat."' ";
 
   }
 
 
 
    if($couleur) {
 
    $nom=$i++;
    $val=$i++;
 
 
    if(count($couleur) >1){
        $choix[$nom] = " (couleur= '";}
    else{ $choix[$nom] = "couleur= '";}
 
 
        $j=0;
        $condition="";
        $choix[$val]="";
 
 
        while($couleur[$j]){
            if($j>0){$condition = "' OR couleur = '";}
 
        $choix[$val].=$condition.$couleur[$j];
 
        $j++;
        }
        $choix[$val].="'  ";
      if(count($couleur) >1){$choix[$val].=") ";}
 
    }
 
 
$critere = $choix[0].$choix[1]." ";
 
 
for($j=2;$j<$i;$j+=2){
            $critere .=" AND ".$choix[$j].$choix[$j+1]." ";            
    }
 
 
if($i>0){
 
 
//================ limite =======================
 
$sql=mysql_query("SELECT id FROM csv  where $critere ", $connexion);
$nb_de_lignes=mysql_num_rows($sql);
$nb_de_pages=nbp($nb_de_lignes, $increment);
 
//-- pour verification uniquement - a desactiver
//echo "nb ligne $nb_de_lignes <br>";
//echo "nb page $nb_de_pages <br>";
//----------------------------------------------
 
if($_GET['page']){ //test si un lien a été cliqué
$flagpage=1; // on met le drapeau à 1
$page=$_GET['page'];
}
 
else{$page=1;}
 
 
$debut= ($page-1)*$increment +1;
 
 
$depart_boucle=1;
 
if( $max_pages_vues>$nb_de_pages){$max_pages_vues=$nb_de_pages;}
 
 
$fin_boucle=$max_pages_vues;
 
if($flagpage==1){
$depart_boucle=$page-intval($max_pages_vues/2);
$fin_boucle=$page+intval($max_pages_vues/2);
 
    if($fin_boucle>$nb_de_pages){
    $fin_boucle=$nb_de_pages;
    $depart_boucle=$fin_boucle-$max_pages_vues;
    }
 
    if($depart_boucle<=0){
    $depart_boucle=1;
    $fin_boucle=$depart_boucle+$max_pages_vues;
    }
}
 
 
//================CODE DEVENU INUTILE ICI ================================
 
/*
$sql=mysql_query("SELECT * FROM csv  where $critere ", $connexion);
$nb=mysql_num_rows($sql);
 
 
 
if(!$nb){$msg= "Aucun résultat - Séléctionnez moins de critères";}
 
========================================================================*/
 
}
 
?>
 
 
 
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
<html>
 
    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8">
        <title>Formulaire de recherche à critères multiples par Milan.</title>
        <style type="text/css" media="screen"><!--
body { font-size: 12px; font-family: Verdana; margin: 10px; }
td { font-size: 12px; font-family: Verdana; padding: 1px 3px; }
--></style>
    </head>
 
    <body>
        <table border="0" cellspacing="2" cellpadding="0" align="center">
            <tr>
                <td>
                    <h1>Formulaire de recherche à critère multiple </h1>
                    <div class="cadre">
                        <p><em>Pour info</em> : le nom de fichier de cette page est<strong> <span class="gras">Index.php</span></strong>. A savoir car je m'y réfère dans les liens.</p>
                    </div>
                    <p>Dans ce formulaire, je laisse le choix au visiteur du nombre d'articles à afficher par page et du nombre constituant la plage de liens.</p>
                    <p>A titre d'exemple concret,</p>
                    <ul>
                        <li>cochez Voiture et au moins quatre couleurs dans le formulaire ci-dessous.
                        <li>Laissez le le nb de résultats à 5 pages
                        <li>Mais choisissez le Nb de de pages visible à 10
                    </ul>
                    <p></p>
                    <p>Vous pouvez constater, en cliquant sur les numéro de page, que ceux-ci changent de plage, que le numéro sélectionné est en gras, et qu'au besoin, apparaissent les "boutons" Debut, Fin, Précédent et Suivant.</p>
                    <form class="cadre" method="post">
                        <p><input type="hidden" name="flag" value="1"></p>
                        <p>prix <select name="prix" size="1">
                                <option value="0">choisir</option>
                                <option <?php if($flag==1 && $prix==1){echo " selected ";}?> value="1">moins de 1000</option>
                                <option <?php if($flag==1 && $prix==2){echo " selected ";}?> value="2">de 1000 à 2000</option>
                                <option <?php if($flag==1 && $prix==3){echo " selected ";}?> value="3">plus de 2000</option>
                            </select></p>
                        <p>velo <input type="checkbox" name="velo" value="1" <?php if($flag==1){if(isset($velo)){echo " checked";}} ?>> voiture <input type="checkbox" name="voiture" value="1" <?php if($flag==1){if(isset($voiture)){echo " checked";}} ?>></p>
                        <p>Neuf <input type="radio" name="etat" value="neuf" <?php if($flag==1){if($etat=="neuf"){echo " checked";}} ?>> occasion <input type="radio" name="etat" value="occasion" <?php if($flag==1){if($etat=="occasion"){echo " checked";}} ?>></p>
                        <p>Couleurs :</p>
                        <table width="252" border="0" cellspacing="2" cellpadding="0">
                            <tr>
                                <td><input type="checkbox" name="couleur[]" value="blanc" <?php if($flag==1){if(coche("blanc")){echo " checked";}}?>></td>
                                <td>
                                    <p>blanc</p>
                                </td>
                                <td><input type="checkbox" name="couleur[]" value="rouge" <?php if($flag==1){if(coche("rouge")){echo " checked";}}?>></td>
                                <td>
                                    <p>rouge</p>
                                </td>
                                <td><input type="checkbox" name="couleur[]" value="bleu" <?php if($flag==1){if(coche("bleu")){echo " checked";}}?>></td>
                                <td>
                                    <p>bleu</p>
                                </td>
                            </tr>
                            <tr>
                                <td><input type="checkbox" name="couleur[]" value="noir" <?php if($flag==1){if(coche("noir")){echo " checked";}}?>></td>
                                <td>
                                    <p>noir</p>
                                </td>
                                <td><input type="checkbox" name="couleur[]" value="vert" <?php if($flag==1){if(coche("vert")){echo " checked";}}?>></td>
                                <td>
                                    <p>vert</p>
                                </td>
                                <td><input type="checkbox" name="couleur[]" value="orange" <?php if($flag==1){if(coche("orange")){echo " checked";}}?>></td>
                                <td>
                                    <p>orange</p>
                                </td>
                            </tr>
                        </table>
                        <p>Nb de résultats à afficher par page <select name="increment" size="1">
                                <option <?php if($flag==1 && $increment==5){echo " selected ";}?> value="5">5</option>
                                <option <?php if($flag==1 && $increment==10){echo " selected ";}?> value="10">10</option>
                                <option <?php if($flag==1 && $increment==15){echo " selected ";}?> value="15">15</option>
                                <option <?php if($flag==1 && $increment==20){echo " selected ";}?> value="20">20</option>
                            </select></p>
                        <p>Nb de liens de page visibles <select name="max_pages_vues" size="1">
                                <option <?php if($flag==1 && $max_pages_vues==5){echo " selected ";}?> value="5">5</option>
                                <option <?php if($flag==1 && $max_pages_vues==10){echo " selected ";}?> value="10">10</option>
                                <option <?php if($flag==1 && $max_pages_vues==15){echo " selected ";}?> value="15">15</option>
                                <option <?php if($flag==1 && $max_pages_vues==20){echo " selected ";}?> value="20">20</option>
                            </select></p>
                        <p><input type="submit" name="submit"></p>
                        <p></p>
                    </form>
                    <p>
 
<?php
if($i>0){
echo "<p class='cadre'>";
 
if(!$nb_de_lignes){echo "Aucun résultat - Choissisez d'autres critères";
exit;
}
 
echo "nb réponses trouvée $nb_de_lignes <br>";
echo "nb de pages $nb_de_pages <br>";
 
//echo "critere $critere <br>";
 
//echo "inc $increment --- debut $debut <hr>";
 
$sql=mysql_query("SELECT * FROM csv  where $critere LIMIT $debut, $increment ", $connexion);
 
?>
 
<?php
//------- affichage du lien debut
if($flagpage==1 && $page > $max_pages_vues){?><a href="Index.php?page=1&flag=1"><strong>Debut</strong></a> | <?php } ?>
 
 
<?php
//------- affichage du lien page précedente
if($flagpage==1 && $page > 1){ ?><a href="Index.php?page=<?php echo $page-1 ?>&flag=1"><strong>Prec </strong></a><?php } ?>
 
 
 
<?php               
//-- compte et affiche les pages selon la variable $max_pages_vues
 
for($i=$depart_boucle;$i<=$fin_boucle;$i++){?><a href="Index.php?page=<?php echo $i ?>&flag=1"><?php
if($flagpage==1 && $i == $page ){echo "<b> $i</b>";}// met en gras le lien selectionne
else echo $i; ?></a>| <?php }
if($fin_boucle < $nb_de_pages){echo " ...";} // ajoute 3 points tant que la plage affichee n'atteint pas la dernière page
?>
 
 
 
 
 
<?php
//----- page suivante - idem que precedente
if($flagpage==1 && $page < $nb_de_pages){?><a href="Index.php?page=<?php echo $page+1 ?>&flag=1"><strong>Suiv</strong></a> <?php } ?><?php
//-------fin idem que debut
if($flagpage==1 && $page < $nb_de_pages){?><a href="Index.php?page=<?php echo $nb_de_pages; ?>&flag=1">| <strong>Fin</strong></a> | <?php } ?><br />
                        <br />
                    </p>
                    <table width="284" border="1" cellspacing="2" cellpadding="0">
                        <tr>
                            <td>prix</td>
                            <td>velo</td>
                            <td>voiture</td>
                            <td>etat</td>
                            <td>couleur</td>
                        </tr>
                        <?php while($res=mysql_fetch_object($sql)){?>
                        <tr>
                            <td><?php echo $res->prix ?></td>
                            <td><?php echo $res->velo ?></td>
                            <td><?php echo $res->voiture ?></td>
                            <td><?php echo $res->etat ?></td>
                            <td><?php echo $res->couleur ?></td>
                        </tr>
                        <?php } ?>
                    </table>
                    </p><?php } ?>
                    <p></p>
</html>

config.php
<?php
 
//Base name :
$DBName= "csv";
//Nom d'utilisateur :
$userName = "root";
//Mot de passe :
$DBpasswd = "";
//Chemin sgbd :
$DBhost = "localhost";
?>

et pour finir un bout de ma BDD csv.sql
DROP TABLE IF EXISTS 'csv';
CREATE TABLE 'csv' (
  'id' int(11) default NULL,
  'voiture' tinyint(4) default NULL,
  'etat' varchar(15) default NULL,
  'velo' tinyint(4) default NULL,
  'prix' int(11) default NULL,
  'couleur' varchar(20) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 
INSERT INTO 'csv' VALUES ('1','1','neuf','1','100','rouge');
INSERT INTO 'csv' VALUES ('2','1','neuf','1','103','rouge');
INSERT INTO 'csv' VALUES ('3','0','neuf','1','106','rouge');
INSERT INTO 'csv' VALUES ('4','0','neuf','1','109','rouge');
INSERT INTO 'csv' VALUES ('5','0','neuf','1','112','rouge');
INSERT INTO 'csv' VALUES ('6','0','neuf','1','115','rouge');
INSERT INTO 'csv' VALUES ('7','1','neuf','1','118','rouge');
INSERT INTO 'csv' VALUES ('8','1','neuf','1','121','rouge');
INSERT INTO 'csv' VALUES ('9','1','neuf','0','124','rouge');
INSERT INTO 'csv' VALUES ('10','1','neuf','0','127','rouge');
INSERT INTO 'csv' VALUES ('11','1','neuf','0','130','rouge');
INSERT INTO 'csv' VALUES ('12','1','neuf','0','133','rouge');
INSERT INTO 'csv' VALUES ('13','1','neuf','1','136','rouge');
INSERT INTO 'csv' VALUES ('14','1','neuf','1','139','bleu');
INSERT INTO 'csv' VALUES ('15','1','neuf','1','142','bleu');
INSERT INTO 'csv' VALUES ('16','1','neuf','1','145','bleu');
INSERT INTO 'csv' VALUES ('17','1','neuf','1','148','bleu');
INSERT INTO 'csv' VALUES ('18','1','neuf','1','151','bleu');
INSERT INTO 'csv' VALUES ('19','1','neuf','0','154','bleu');
INSERT INTO 'csv' VALUES ('20','1','neuf','0','157','bleu');
INSERT INTO 'csv' VALUES ('21','1','neuf','0','160','bleu');
INSERT INTO 'csv' VALUES ('22','1','neuf','0','163','bleu');
INSERT INTO 'csv' VALUES ('23','1','neuf','1','166','bleu');
INSERT INTO 'csv' VALUES ('24','0','neuf','1','169','bleu');
INSERT INTO 'csv' VALUES ('25','0','neuf','1','172','orange');
INSERT INTO 'csv' VALUES ('26','0','neuf','1','175','orange');
INSERT INTO 'csv' VALUES ('27','0','neuf','1','178','orange');
INSERT INTO 'csv' VALUES ('28','1','occasion','1','181','orange');
INSERT INTO 'csv' VALUES ('29','1','occasion','1','184','orange');
INSERT INTO 'csv' VALUES ('30','1','occasion','1','187','orange');
INSERT INTO 'csv' VALUES ('31','1','occasion','1','190','orange');
INSERT INTO 'csv' VALUES ('32','0','occasion','1','193','orange');
INSERT INTO 'csv' VALUES ('33','0','occasion','1','196','orange');
INSERT INTO 'csv' VALUES ('34','0','occasion','1','199','orange');
INSERT INTO 'csv' VALUES ('35','0','occasion','1','202','orange');
INSERT INTO 'csv' VALUES ('36','1','occasion','0','205','orange');
INSERT INTO 'csv' VALUES ('37','1','occasion','0','208','orange');
INSERT INTO 'csv' VALUES ('38','1','occasion','0','211','orange');
INSERT INTO 'csv' VALUES ('39','1','occasion','0','214','orange');
INSERT INTO 'csv' VALUES ('40','1','occasion','1','217','noir');
INSERT INTO 'csv' VALUES ('41','1','occasion','1','220','noir');
... J'abrège...



A voir également:

1 réponse

Profil bloqué
 
si tu ne te connectes pas à ta base c'est à cause de ton config

il manque la ligne mysql_connect

mets ca dans ton fichier config

<?php

//Base name :
$DBName= "csv";
//Nom d'utilisateur :
$userName = "root";
//Mot de passe :
$DBpasswd = "";
//Chemin sgbd :
$DBhost = "localhost";

$link = @mysql_connect($DBhost ,$userName ,$DBpasswd ) or mysqlerr(mysql_error());
@mysql_select_db($DBName) or mysqlerr(mysql_error());

?>
0
augustin78 Messages postés 72 Statut Membre
 
Malheureusement cela ne marche pas.. J'obtiens une erreur interne :(
0
Profil bloqué
 
Quoi comme erreur ??
0
augustin78 Messages postés 72 Statut Membre
 
La page web ne peut pas être affichée
0
Exileur Messages postés 1621 Statut Membre 150
 
$sql=mysql_query("SELECT id FROM csv where $critere ", $connexion);

???

ça donne quoi si tu fais un echo $sql ????
0
Exileur Messages postés 1621 Statut Membre 150
 
@Waelb83 : la connexion ce fait dans le mysql_query. et les infos sont déja dans le config.php

Par contre, augustin, tu devrais creer un fichier fonction.php dans lequel tu mets toutes tes fonctions. et faire un "include("fonction.php"); le code de ton index.php serai déjà plus propre
0