IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Mon else n'est pas pris en compte [PHP 5.2]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut Mon else n'est pas pris en compte
    Bonjour tout le monde,

    Je vérifie si une variable get contient quelque chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if((isset($_GET['select_Nom_Tables'])) OR (isset($_SESSION['LaTable'])))
    Si cette variable ne contient rien, je devrais aller ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    else 
    { 
    	?>
    		<table border="1" id="TableauUpdate">
    		<tr><td>Aucune table n'a t s&eacute;lectionne</td></tr>
    		</table>
    		</div>
    	<?php 
    }
    Le problème, c'est que je n'y arrive pas, j'obtiens ce message d'erreur :

    <citation nom="Firefox">You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1</citation>

    Voici la valeur de la variable get :

    array(1) { ["select_Nom_Tables"]=> string(0) "" }

    Ce code intervient aussi dans la création de la variable get :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
     
    //script qui affiche le nom de chaque table dans la liste droulante
    $sql = "SHOW TABLES FROM $dbname";
    $_GET = array_map("mysql_real_escape_string", $_GET);
    //$result interroge la base de donnes (requte) 
    $result = mysql_query($sql);
     
    //si la requte ne retourne rien (si elle est vide) :
    if (!$result) 
    {
    	echo "Erreur DB, impossible de lister les tables\n";
    	echo 'Erreur MySQL : ' . mysql_error();
    	exit;
    }
     
    echo '<select name="select_Nom_Tables" size="1" id="select_Nom_Tables" onchange="document.test.submit();">';
    while ($row = mysql_fetch_row($result)) 
    {
    	echo '<option value="'.$row[0].'"';
    		if (!(strcmp($row[0], $_GET['select_Nom_Tables']))) 
    	{
    		echo "selected=\"selected\"";
    	}
    	//ucfirst met la premire lettre du mot ou de la phrase en majuscule
    	//ceci est une concatnation avec ce qui est ci-dessus.
    	echo '>'.ucfirst($row[0]).'</option>';
    }
     
    echo '</select>';
     
     
     
    ?>

    Voici l'entierté de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    <!--Si la variable de type get  une information ou si la variable de session LaTable  une donne alors on fait tout cela-->
     
    <?php 
    session_start();
    var_dump($_GET);
    //var_dump($_SESSION);
    $_GET = array_map("mysql_real_escape_string", $_GET);
     
    if((isset($_GET['select_Nom_Tables'])) OR (isset($_SESSION['LaTable'])))
    { ?>
    	<table border="1" id="TableauUpdate">
    	<?php
     
    	if(isset($_GET['select_Nom_Tables'])) 
    		{
    			$table = $_GET['select_Nom_Tables'];
    		}
    	else 
    		{
    			$table = $_SESSION['LaTable'];
    		}
    			$_SESSION['LaTable'] = $table;
     
    	?>
     
    	<?php
    	$query = mysql_query("SELECT * FROM ".$table) or exit(mysql_error());
    	$num_rows = mysql_num_rows($query) or exit(mysql_error());
    	//echo($table);
     
    	//echo $num_rows ." lignes dans la table " . $table."\n"; 
     
    	$Tableau_Noms_Des_Champs = array();  
     
    	for($j=0;$j<mysql_num_fields($query);$j++) 
    	{ 
    	   if(mysql_field_name($query, $j)!='ID')$Tableau_Noms_Des_Champs[] = mysql_field_name($query, $j); 
    	   //echo(mysql_field_name($query,$j));
    	}
    	//var_dump($Tableau_Noms_Des_Champs);
     
    	?>
    	<br /><br />
     
    	<table border="1">
    	<tr>
     
    	<?php 
    		//++++++++++++++++++++++++affichage des noms de colonnes +++++++++++++++++++++++++++++++++
    		for($i=0;$i<count($Tableau_Noms_Des_Champs);$i++)
    				{
    				//$Tableau_Noms_Des_Champs[$i] ==> Champ de la table
    					?>	 
    						<td >
    							<!-- filtre permet simplement de filter les infos du tableau -->
     
    							<input type="text" id="<?php echo $Tableau_Noms_Des_Champs[$i]; ?>" 
    							 onkeyup="filtre('<?php echo $Tableau_Noms_Des_Champs[$i] ?>',this.value,'<?php echo $_SESSION['LaTable'] ?>')" 
    							 />
    						</td>
    					<?php 
    				}
    		?>
    	</tr>
    	<br /><br />
    	</table>
     
    	<div id="filter_area"></div>
     
    	<div id="nouveau_tableau">
    	<table>				  
    		<?php if ($num_rows > 0) 
    		{?>
    		<tr>
    		<td>&nbsp;</td>
     
    		</tr>
     
    		<?php 
    		$nligne = 0;
    		$nbColonnes = 0;
    		$i = 0;
    		while($row = mysql_fetch_array($query,MYSQL_ASSOC)) 
    		{
    			$i++;
    			echo '<tr><td align="center">'.$i.'</td>';
    			foreach($row as $NomCol => $Valeur)
    			{
    				//si le nom de la colonne vaut 'ID', je l'ignore afin de ne pas afficher l'ID
    				if($NomCol != 'ID')
    				{
    					echo '<td><input disabled="disabled" name="new[' . $row['ID'] . '][' . $NomCol . ']" value="'.$Valeur.'"></td>';
    				}	
    			}
    			echo '</tr>';
    		}
     
    		echo '</tr>';
     
     
    		?>
    		<?php } 
    	if ($num_rows == 0) 
    	{  } ?>
    		</table>
     
    	<?php } 
    else 
    { 
    	?>
    		<table border="1" id="TableauUpdate">
    		<tr><td>Aucune table n'a t s&eacute;lectionne</td></tr>
    		</table>
    		</div>
    	<?php 
    } 
    ?>
    Merci d'avance.

    beegees

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Par défaut
    Dans ta ligne :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = mysql_query("SELECT * FROM ".$table) or exit(mysql_error());
    essaie de concaténer ta requête avant de l'exécuter :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $chaine = "SELECT * FROM ".$table;
    $query = mysql_query($chaine) or exit(mysql_error());

  3. #3
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par fucce Voir le message
    Dans ta ligne :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = mysql_query("SELECT * FROM ".$table) or exit(mysql_error());
    essaie de concaténer ta requête avant de l'exécuter :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $chaine = "SELECT * FROM ".$table;
    $query = mysql_query($chaine) or exit(mysql_error());
    Salut,

    Merci pour ta réponse.

    J'ai résolu mon problème en suivant ton conseil :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $sql = "SELECT * FROM ".$table;
    	if(!empty($table))
    	{
    		$query = mysql_query($sql) or exit(mysql_error());
    	}
    	else
    	{
    		echo "<table border = '1'>
    		<tr><td>Veuillez choisir une table dans la liste d&eacute;roulante de gauche</td></tr>
     
    		";
    		exit;
    	}
    Encore merci.

    beegees

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mon fichier .css n'est pas pris en compte!
    Par Nicolas74 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 18/05/2010, 19h03
  2. \s n'est pas pris en compte dans mon regex
    Par xess91 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/03/2010, 18h13
  3. [CSS 2.1] Mon fichier .css n'est pas pris en compte par Firefox 3.0.x
    Par anxious dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 11/12/2009, 14h56
  4. Mon code Behind n'est pas pris en compte.
    Par Spidermeu dans le forum ASP.NET
    Réponses: 20
    Dernier message: 11/07/2009, 18h47
  5. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo