SQL Query met variabele tabelnaam

Status
Niet open voor verdere reacties.

Yuri001

Gebruiker
Lid geworden
14 jul 2008
Berichten
5
Yo,

Ik heb een vraagje ivm een sql query met een variabele tabelnaam.

Ik zal eerst even de situatie schetsen:

Ik heb een pagina waar mensen in een formulier iets kunnen selecteren

<option value='$type' name='keuze'>$type\n

dit is dus een keuzelijst, en alle items uit die lijst komen uit een Mysql database. En ieder item is een de naam van een tabel in mijn database

Als de mensen een keuze hebben gemaakt, dan opent zich een nieuwe pagina met daarin de inhoud van deze tabel.

dus de query om deze inhoud te laten verschijnen ziet er als volgt uit:

$query = "SELECT * FROM $_POST['keuze'] ORDER BY nom";

Ik heb al verschillen dingen geprobeert, maar niets lukt

Wie kan mij helpen

Mvg

-Yuri-
 
$query = "SELECT * FROM ". $_POST['keuze'] ." ORDER BY nom";

Thx voor de reactie, maar er klopt nog steeds iets niet. Nu heb ik het volgende staan:


$query = $query = "SELECT * FROM ". $_POST['keuze'] ." ORDER BY nom";
$result = mysqli_query($cxn,$query)
or die ("Couldn't execute query table.");

en ik krijg steeds te zien "Couldn't execute query table." op mijn scherm....


Misschien loopt er iets fout bij het formulier? of kan is dit niet mogelijk?
 
Kijk eerst eens of
PHP:
echo $query;
de gewenste sql regel oplevert om dat te controleren.
 
Dan zit de fout in het formulier. Bekijk dat nog eens goed of plaats er delen van.
 
Dan zit de fout in het formulier. Bekijk dat nog eens goed of plaats er delen van.

Ik heb even het formulier opnieuw geschreven, en in plaats van een keuzelijst, gewerkt met radio buttons

PHP:
echo "<form action='WinkelKeuze.php' method='POST'>\n";
	  echo "<table cellpadding='5' border='1'>";
	  $teller=1;
	  while($row = mysqli_fetch_assoc($result1))
	  {
	     extract($row);
	     echo "<tr><td valign='top' width='15%'
	                   style='font-weight: bold;
	                   font-size: 1.2em'\n";
	     echo "<input type='radio' name='keuze'
	                  value='$type'\n";
	     if( $teller == 1 )
	     {
	         echo "checked";
	     }
	     echo ">$type</td>";
	     echo "</tr>";
	     $teller++;
	  }
	  echo "</table>";
	  echo "<p><input type='submit' value='Maak een keuze'>
        </form></p>\n";


Nu werkt alles zoals het moet, maar ik zou graag werken met een keuzelijst....ik zal nog even zoeken om de keuzelijst ook te laten werken

Alvast bedankt voor alles!!
 
ongeveer zoiets voor een keuzelijst (zolang $type de waarden bevat die je wil posten):
PHP:
echo "<form action='WinkelKeuze.php' method='POST'>\n";
      echo "<table cellpadding='5' border='1'>";
      $teller=1;
         echo "<tr><td valign='top' width='15%'
                       style='font-weight: bold;
                       font-size: 1.2em'><select name='keuze'>\n";
      while($row = mysqli_fetch_assoc($result1))
      {
         extract($row);

         echo "<option value='$type' ";
         if( $teller == 1 )
         {
             echo "selected=selected";
         }
         echo ">$type</option>\n";
         $teller++;
      }
      echo "</select></td></tr></table>";
      echo "<p><input type='submit' value='Maak een keuze'>
        </form></p>\n";
 
ongeveer zoiets voor een keuzelijst (zolang $type de waarden bevat die je wil posten):
PHP:
echo "<form action='WinkelKeuze.php' method='POST'>\n";
      echo "<table cellpadding='5' border='1'>";
      $teller=1;
         echo "<tr><td valign='top' width='15%'
                       style='font-weight: bold;
                       font-size: 1.2em'><select name='keuze'>\n";
      while($row = mysqli_fetch_assoc($result1))
      {
         extract($row);

         echo "<option value='$type' ";
         if( $teller == 1 )
         {
             echo "selected=selected";
         }
         echo ">$type</option>\n";
         $teller++;
      }
      echo "</select></td></tr></table>";
      echo "<p><input type='submit' value='Maak een keuze'>
        </form></p>\n";


Ok, alles werkt nu. Bedankt!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan