login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Table selecteren in mysql (Opgelost)

Offline theancients - 28/10/2013 12:52 (laatste wijziging 28/10/2013 12:53)
Avatar van theancientsLid Hallo iedereen,

Ik ben een aantal dingen aan het uit proberen. Nu is het best wel lastig uit te leggen dus ik ga het proberen.

Ik heb twee tabellen in een database die iets van elkaar verschillen. Ik heb geen zin om hier een apart formulier voor te maken. Nu vraag ik mezelf af of dat het mogelijk is om het volgende uit te proberen.

Door een $_POST waarde mee te geven van het formulier naar het verwerkingsscript en deze in een variable te stoppen en deze vervolgens weer te geven in de sql statement zoals hier:

  1. SELECT * FROM table ...
  2. // zou dan er dan zo uitzien
  3. SELECT * FROM $table ...


Is dit mogelijk?

Met vriendelijke groet,

The ancients

6 antwoorden

Gesponsorde links
Offline Wijnand - 28/10/2013 13:19
Avatar van Wijnand Moderator Om eerlijk te zijn snap ik niet wat je bedoelt :-)

Kun je het in 'reallife' data weergeven? Welke data verstuur je, hoe wil je dit weergeven, wat hebben die 2 verschillende tabellen ermee te maken?
Bedankt door: theancients
Offline theancients - 28/10/2013 13:43 (laatste wijziging 28/10/2013 13:46)
Avatar van theancients Lid Uhm, waar het op neer komt is dat als ik een formulier verzend dat ik een table kan selecteren. Dit wil ik doen door een $_POST mee te geven. Als de waarde dan true is dan word het in table a opgeslagen en als de waarde false is dan word het in table 2 opgeslagen.

Dus wat ik eigenlijk probeer te bereiken is dat als ik een formulier verzend dat ik daarin zeg maar ook de tabel van de database kan selecteren. Dit denk ik te kunnen doen door een variable (die eerst gecontroleerd word natuurlijk) neer te zetten waardoor je het tweede voorbeeld krijgt van het vorige bericht

SELECT * FROM $variable

Is dit mogelijk? Ik heb het namelijk nog niet werkend gekregen 

Een voorbeeld:
  1. $query = mysql_query("INSERT INTO ".$table." (title,date,editor1)
  2. // of
  3. $query = mysql_query("SELECT * FROM ".$table."");

Offline keesgerbers - 28/10/2013 13:57 (laatste wijziging 28/10/2013 13:58)
Avatar van keesgerbers Lid dan zou je toch een input field met type hidden kunnen zetten?
  1. <input type="hidden" name="tableSelect" value="true/false" />

in php kun je dit veld dan bereiken via $_POST['tableSelect'] en controlleren of deze true of false is

in php zou je code zo uit kunnen zien:
  1. if($_POST['tableSelect'] == true) {
  2. $sql = "SELECT * FROM table1";
  3. }
  4. else {
  5. $sql = "SELECT * FROM table2";
  6. }
Bedankt door: theancients
Offline theancients - 28/10/2013 13:59 (laatste wijziging 28/10/2013 14:00)
Avatar van theancients Lid Oke, dat is duidelijk maar hoe krijg ik deze dan in mijn sql statement?

edit:
Sorry had niet het hele bericht gezien. Dus ik moet het eigenlijk in een if lus zetten? Hierdoor krijg ik twee sql statements?
Offline keesgerbers - 28/10/2013 14:06 (laatste wijziging 28/10/2013 14:07)
Avatar van keesgerbers Lid ja ik zou het met een if else lus doen,
als je een value pakt en deze direct in een sql query gooit, kun je wachten op problemen aangezien POST waarden alsnog zijn te wijzigen.

Op deze manier hou je altijd een valid query en is er geen mogelijkheid om een andere tabelnaam te pakken en dus onbedoeld in andere tabelen te komen
Offline theancients - 28/10/2013 14:17 (laatste wijziging 28/10/2013 14:18)
Avatar van theancients Lid Kees,

Je bent helemaal geweldig! Dat ik hier niet eerder op gekomen ben. Het werkt nu zoals het moet. Dit is even om te onthouden. Ik zal op de bedankknop rammen en tevens op de oplos knop.

@Wijnand: Ook jij bedankt natuurlijk! 
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.194s