Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PDO: hakukysely ongelma

Sivun loppuun

dartvaneri [03.10.2011 20:26:01]

#

Hei!
Minulla tuli ongelmia haku kyselyn kanssa. Kysely toimii kun olen kirjautunut omalla tunnuksella, mutta ei toimi jos olen kirjautuneena jollain toisella tunnuksella.

$kysely = $yhteys->prepare("SELECT * FROM saalistilanne WHERE YEAR(paivamaara) = ?");
$kysely->execute(array($kausi));
while($tulosr = $kysely->fetch()){
  ...
}

Tuolla whilen sisällä on yksi kohta, joka käsitellään vain, jos käyttäjän titteli on Admin. Kysely tällaisenaan ei hae mitään kannasta kun olen jollain toisella käyttäjällä, mun käyttäjällä hakee, mutta kun otan ton kohdan pois, niin se pelaa myös muilla käyttäjillä:

WHERE YEAR(paivamaara) = ?

Missähän mahtaa olla vika?

PS. sori sekava selitys.

Metabolix [03.10.2011 20:42:31]

#

No ei se vika ainakaan tuossa näkyvässä osassa ole, kai sen nyt omakin järkesi sanoo.

dartvaneri [03.10.2011 22:07:13]

#

Tässä koko kysely.

$kysely = $yhteys->prepare("SELECT * FROM saalistilanne WHERE YEAR(paivamaara) = ?");
$kysely->execute(array($kausi));

	while($tulos = $kysely->fetch()){

		$kaataja = htmlspecialchars($tulos['kaataja']);
		$pm = $tulos['paivamaara'];
		$paikka = htmlspecialchars($tulos['paikka']);
		$elain = htmlspecialchars($tulos['elain']);
		$id = $tulos['id'];

		$pm = preg_replace("/\-/", ".", $pm);
		$taulukko = explode(".", $pm);
		$paivamaara = $taulukko[2] . "." . $taulukko[1] . "." . $taulukko[0];

		if($titteli == "Admin"){
			$poista = "<td>
				<form action=\"Muokkaa\" method=\"POST\">
					<input type=\"hidden\" name=\"x\" value=\"poista\">
					<input type=\"hidden\" name=\"id\" value=\"$id\">
					<input type=\"submit\" onclick=\"javascript:return window.confirm ('Haluatko varmasi poistaa?');\"  value=\"Poista\"></form></td>";
			$muokkaa = "
				<td><form action=\"Muokkaa\" method=\"POST\">
					<input type=\"hidden\" name=\"x\" value=\"muokkaa\">
					<input type=\"hidden\" name=\"id\" value=\"$id\">
					<input type=\"submit\" value=\"Muokkaa\">
				</form>
				</td>";

		}


		echo "
			<tr>$poista
			<td>$paivamaara</td><td>&nbsp;&nbsp;$elain</td><td>&nbsp;&nbsp;$paikka</td><td>&nbsp;&nbsp;$kaataja</td>$muokkaa</tr>
			";

	}

Metabolix [03.10.2011 22:38:32]

#

Kyllähän tuon pitäisi jotain tulostaa (vaikka muuttujat $poista ja $muokkaa jäävätkin alustamatta; kannattaisi kyllä alustaa ne tyhjiksi). Oletko tutkinut edes, päästäänkö koodissa tuohon asti muilla käyttäjillä?

dartvaneri [03.10.2011 23:49:45]

#

Okei. Kyselyn ja while:n väliin vielä tulostuu, mutta ei itse whileen. Whilen jälkeenkin tulostuu.

vehkis91 [03.10.2011 23:58:36]

#

Tämä

while($tulos = $kysely->fetch()){

Muotoon:

while($tulos == $kysely->fetch()){

Toimisko sitte?

Grez [04.10.2011 00:04:28]

#

vehkis91 kirjoitti:

Toimisko sitte?

Väittäisin että huonommin.

Metabolix [04.10.2011 00:34:06]

#

Mitä ilmeisimmin saat siis eri tuloksen kyselystä eri tilanteissa. Tulosta seuraavaksi $kausi-muuttujan arvo tuossa ja muualla ja ihmettele, miksi se on väärin. (Perusjuttuja, voisit nyt vähän itsekin yrittää!) Ovathan PHP:n virheilmoitukset varmasti käytössä?


Sivun alkuun

Vastaus

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

Tietoa sivustosta