Categories > TinyButStrong general (FR) >

Problème de syntaxe

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: pierce
Date: 2006-02-02
Time: 12:34

Problème de syntaxe

Bonjour,
voila j'essaye d'afficher un tableau grace à une requete sql avec une condition (un where)
Je vous passe mon code :
<?php
session_start();
require ("include/test_session.php");
include('connexion.php');
include('librairie/fonction.php');
include_once('tbs_class.php');
include ('include/entete.php');
include('include/menu.php');

$TBS = new clsTinyButStrong ;
//Appel de la feuille html
$TBS->LoadTemplate('liste_ref_lampefour.htm') ;

//Remplissage des listes
$TBS->MergeBlock('lst1' ,$cnx_id,"SELECT * FROM fournisseur") ;

//creation d'une pagination soit des valeurs par defauts
//Valeur par défaut
if (!isset($_GET)) $_GET=&$HTTP_GET_VARS ;
if (isset($_GET['PageNum'])) {
  $PageNum = $_GET['PageNum'] ;
} else {
    $PageNum = 1 ;
}

//Valeur par défaut
if (isset($_GET['RecCnt'])) {
  $RecCnt = intval($_GET['RecCnt']) ;
} else {
    $RecCnt = -1 ;
}

$PageSize = 10 ;

//Je recherche la reference de la societe
$nomsociete = $_POST['list_1'];
$rqreffour = " SELECT reffournisseur FROM fournisseur WHERE nomsociete = '$nomsociete'";
$resultref = mysql_query($rqreffour);
$champs = mysql_fetch_array($resultref);
$reffour = $champs[0];

//Affichage de test
echo $nomsociete;
echo '<br/>';
echo $reffour;
//tout s'affiche correctement

$RecCnt = $TBS->MergeBlock('blk1',$cnx_id,'SELECT * FROM vendre WHERE reffournisseur = $reffour',$PageSize,$PageNum,$RecCnt) ;
$TBS->MergeNavigationBar('nv','',$PageNum,$RecCnt,$PageSize) ;

//La sélection des items se fait ici
$TBS->Show() ;

?>

Il marque comme erreur :
TinyButStrong Error (MergeBlock [blk1]): MySql error message when opening the query: Unknown column '$reffour' in 'where clause'
Pourtant mes affichages de tests marchent très bien je comprend pas où est l'éerreu, je crois dans la syntaxe sql du blk1 mais je vois
By: Skrol29
Date: 2006-02-02
Time: 12:50

Re: Problème de syntaxe

Bonjour,

L'inclusion de variable Php dans une chaîne texte ne fonctionne qu'avec les délimiteurs double-quotes ("). Alors que tu as utilisé des simple-quotes pour ta requête.
C'est soit
'SELECT * FROM vendre WHERE reffournisseur = '.$reffour
soit
"SELECT * FROM vendre WHERE reffournisseur = $reffour"
By: pierce
Date: 2006-02-02
Time: 13:23

Re: Problème de syntaxe

Bhein en faite je viens de faire comme ca :
$RecCnt = $TBS->MergeBlock('blk1',$cnx_id,"SELECT * FROM vendre WHERE reffournisseur = '$reffour'"
Et ca a l'aire de marche, mais au cas où je garde en note tes exemple ;) merci et à plus
tiusss