Centar za edukaciju-BiH



#1 24.03.2020 11:33
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:MYSQL spajanje imena table za pretragu
MYSQL

imam cetiri table: regija_zapad, regija_istok, regija_jug, regija_sjever

moze li se u mysql upitu spajati ime table od varijabli za pretrazivanje?

Sada radim ovako:

PreuzmiIzvorni kôd (Text):
  1. <?php
  2.  
  3. if($izbor==1){upit=mysql_query("SELECT * FROM regija_zapad WHERE kolicina>=1")}
  4. if ($izbor==2){upit=mysql_query("SELECT * FROM regija_istok WHERE kolicina>=1")}
  5. if($izbor==3){upit=mysql_query("SELECT * FROM regija_sjever WHERE kolicina>=1")}
  6. if ($izbor==4){upit=mysql_query("SELECT * FROM regija_jug WHERE kolicina>=1")}
  7. ...
  8. ?>

htio sam smanjiti broj upita i svesti sve na jedan tako da tablu dobijem iz spajanja stringa, ali mi ne radi:
PreuzmiIzvorni kôd (Text):
  1. <?php
  2.  
  3. switch ($izbor) {
  4.     case 1:
  5.         $kojaRegija="zapad";
  6.         break;
  7.     case 2:
  8.         $kojaRegija="istok";
  9.         break;
  10.     case 3:
  11.         $kojaRegija="sjever";
  12.         break;
  13.     case 4:
  14.         $kojaRegija="jug";
  15.         break;
  16. }
  17.  
  18. upit=mysql_query("SELECT * FROM "regija_" and "$kojaRegija" WHERE kolicina>=1")
  19.  
  20. ?>

zivot je moja domovina.
Ovaj post je ureden 2 puta. Posljednja izmjena 18.08.2020 12:03 od strane Avko. ↑  ↓

#2 24.03.2020 11:40
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: spajanje imena table za pretragu
PreuzmiIzvorni kôd (PHP):
  1. <?php
  2.  
  3. switch ($izbor) {
  4.     case 1:
  5.         $kojaRegija="regija_zapad";
  6.         break;
  7.     case 2:
  8.         $kojaRegija="regija_istok";
  9.         break;
  10.     case 3:
  11.         $kojaRegija="regija_sjever";
  12.         break;
  13.     case 4:
  14.         $kojaRegija="regija_jug";
  15.         break;
  16. }
  17. $upit=mysql_query("SELECT * FROM  $kojaRegija WHERE kolicina>=1")
  18. ?>

Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 24.03.2020 11:50
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: spajanje imena table za pretragu
da to je to, zahvaljujem

postoji li mozda mogucnost unutar mysql upita spajanje, npr $nekiString + $promijenjiviString ?
zivot je moja domovina.
↑  ↓

#4 24.03.2020 11:59
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: spajanje imena table za pretragu
U php sve postoji.
Sql je samo string za php ali za bazu je on upit.
$sql="SELECT $imepoljavariablaphp FROM " . $var1 . $var2 . " WHERE kolicina>=1"
U tvom slucaju:
$var1="regija_";
$var2="sjever";
Znaci $sql je samo obicni string sastavljen iz variabli i teksta.
Ako ga zelimo proslijediti bazi kao upit onda moramo ispostovati pravila upita sto u ovom slucaju jesmo.
Sada ga saljemo bazi:
$upit=mysql_query($sql");
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 24.03.2020 17:16
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: spajanje imena table za pretragu
da, logično.
Nisam se toga sjetio.
Mozganjem nisam dosao do inspiracije.

Čini mi se da je jedan od ključnih elemenata zabavljanje uma (pogotovo podsvjesnog uma) nečim drugim - time kao da maknemo pritisak "sad moram naći rijesenje". Ali pri tom je bitno da je to čime ga okupiramo neÅ¡to Å¡to možemo raditi po automatici.

Meni zna pomoci za opustiti mozak:
- odlazak u birtiju (sada su zatvorene zbog korona virusa)
- Å¡etnja, nesmijemo se Å¡etati, moramo biti u kuci
- pjevanje, baš mi se i ne pjeva nakon svega sto se desava

eto,hvala jos jednom
zivot je moja domovina.
↑  ↓

#6 24.03.2020 19:28
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: spajanje imena table za pretragu
Eto ostalo nam je samo to da smislis neki zadatak pa da ga rjesavamo a ti si dobar u tome.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#7 05.07.2020 16:31
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: spajanje imena table za pretragu
Evo slucajno danas nesto radio pa ispalo rijesenje. Sjetio sam se da sam to postavio pitanje pa da iznesem svoja nova iskustva.

Moguce su table:

tbl_regija_zapad, tbl_regija_istok, tbl_regija_sjever, tbl_regija_jug

<?php
$imeTable="tbl_regija_zapad"

upit="SELECT * FROM $imeTable WHERE DATUM='$danasnjiDatum'"
...

?>

znaci da napomenem ovo mi nije radilo;

-upit="SELECT * FROM ' $imeTable ' WHERE DATUM='$danasnjiDatum' "
-upit="SELECT * FROM ' " . $imeTable . " ' WHERE DATUM='$danasnjiDatum' "
-upit="SELECT * FROM ' . $imeTable . ' WHERE DATUM='$danasnjiDatum' "

radi bez ikakvih znakova, goli string

upit="SELECT * FROM $imeTable WHERE DATUM='$danasnjiDatum'"


to radi na UwAmp, neznam kako je na stvarnom serveru ili na nekom drugom xampu ili ...
zivot je moja domovina.
↑  ↓

#8 05.07.2020 17:37
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: spajanje imena table za pretragu
Ako koristis duple znake navoda " onda u okviru njih svaka rijes koja ima ispred znak $ se smatra vriablom,
napr:
$variabla="neki drugi tekst"
$opet_var="dodatak"
echo "neki tekst $varibla pa opet tekst i $opet_var i opet tekst";
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#9 05.07.2020 21:11
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,854


Predmet:Re: spajanje imena table za pretragu
Ja bi ovde uradio UNION queri na sva tabela onda bi isao kriterija
↑  ↓

#10 05.07.2020 23:30
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: spajanje imena table za pretragu
Citiraj Gjoreski:
Ja bi ovde uradio UNION queri na sva tabela onda bi isao kriterija
daj primjer
zivot je moja domovina.
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +01:00. Trenutno vrijeme: 12: 06 am.