Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: SQL kysely

manninen [13.04.2011 22:53:01]

#

Hei, jos ajatellaan, että loisin (tai siis luon:)) hakutoimintoa, jolla haetaan tietoa kannata käyttäjän antamien arvojen mukaan miten tämä kannattaisi toteuttaa.

Eli ajatellaan näin. käyttäjällä on 10 eri vaihtoehtoa, joista vaikka kaikki ehdot voi olla käytössä.

Miten rakennan järkevän WHERE kyselyn vai tarkistanko yksinkertaisesti, onko vaihtoehto 1 käytössä, jos on niin ympppään sen muuttujalla kyselyn sekaan?

Voiko kysylyitä tehdä useampia, niin, että se luetaan yhtenä kyselynä?

Oliko tietokantaan valmista funktiota siihen, että verrataan onko arvo taulukossa?

LaNu [14.04.2011 00:59:52]

#

manninen kirjoitti:

Miten rakennan järkevän WHERE kyselyn vai tarkistanko yksinkertaisesti, onko vaihtoehto 1 käytössä, jos on niin ympppään sen muuttujalla kyselyn sekaan?

Juurikin näin, eli generoit sen where osan lomakkeen mukaan. Ei siinä muita vaihtoehtoja ole.

lainaus:

Voiko kysylyitä tehdä useampia, niin, että se luetaan yhtenä kyselynä?

Avainsana on UNION. Sillä voit hakea useammasta taulusta kerralla tai koota useamman haun tulokset yhteen.

manninen [14.04.2011 16:09:40]

#

// Laitan tiedot taulukkoon
$tyyppi = array();

for($i = 0; $i <= 7; $i++){
    if(isset($_REQUEST[$i])){
      $tyyppi = $_REQUEST[$i];
    }
}

// Lähetän ne toiselle funktiolle
if(!empty($virhe)){
  echo $virhe;
  return;
}
else{
  LuodaanTietokantaKysely($tyyppi);
}

//Toisella funktiolla niiden arvoista näkyy vain 1. Missä vaiheessa ja
//miten  minun tulisi laittaa nämä tiedot muotoon, 1,2,3,4,5,6

//jotta voin niitä verrata kyselyssä WHERE tyyppi = ($tyyppi)

-tossu- [14.04.2011 16:37:36]

#

manninnen kirjoitti:

Toisella funktiolla niiden arvoista näkyy vain 1. Missä vaiheessa ja miten minun tulisi laittaa nämä tiedot muotoon, 1,2,3,4,5,6

$tyyppi[] = $_REQUEST[$i];

Tiedot eivät tosin nytkään ole esittämässäsi pilkuilla erotetussa muodossa, mutta ne saa siihen implodella.

$tiedot = implode (",", $tyyppi);

Othnos [14.04.2011 16:39:52]

#

Tallennat arvot muuttujaan jolloin vain viimeisin niistä jää voimaan. Käytä kulmasulkuja:

$tyyppi[] = 'tyyppi = ' . $_REQUEST['i'];

Voit sitten muodostaa kyselyn implode-funktiolla tyyliin

$tyyppi = implode (' OR ', $tyyppi);

Muista myön escapettaa käyttäjän syöte.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta