Autor | Zpráva | ||
---|---|---|---|
obin Profil * |
#1 · Zasláno: 29. 3. 2008, 19:48:28
Prosím vás zkušenější programátory o pomoc. Dělám do fotogalerie klasické šipky - další fotka, předcházející fotka, nazačátek, nakonec.
Může se spolehnout na to, že tato konstrukce mysql_query ("SELECT id FROM foto WHERE id>'$vybranaid' ORDER BY ID"); vybere opravdu následující fotku, když v proměnné $vybranaid je uloženo ID právě zobrazené fotky? Nebo existuje nějaká funkce pro určení následníka? |
||
Alphard Profil |
#2 · Zasláno: 29. 3. 2008, 20:07:17
jestli jdou v řadě spolu s id, tak ano, ještě se asi bude hodit limit 1
|
||
Michal Šobr Profil |
#3 · Zasláno: 30. 3. 2008, 17:49:32
tady bych se připojil k dotazu jak zjistíš jaký id má poslední fotka???
|
||
Alphard Profil |
#4 · Zasláno: 30. 3. 2008, 18:18:24
Michal Šobr
select max(id) from tabulka |
||
obin Profil * |
#5 · Zasláno: 30. 3. 2008, 18:48:37
No, já prozatím naplnil pole a zjišťoval první a poslední prvek. Ale právě proto se ptaám. Dobrá, vyzkouším to takhle. 3lo mi jen o to, že počítače se chovají nepředvídatelně a já se bál, aby vybral opravdu následníka
|
||
nightfish Profil |
#6 · Zasláno: 30. 3. 2008, 18:54:46 · Upravil/a: nightfish
3lo mi jen o to, že počítače se chovají nepředvídatelně
nemáš pravdu, počítače jsou deterministické (nedeterminismus je způsobený poruchou) - resp. provádění stejného kódu za stejných podmínek vždy vyhodí stejný, předvídatelný výsledek jinak se můžeš podívat do databázového FAQ, tam jsou dotazy pro další/předchozí položku v případě, že položky nejsou v pořadí podle "id" |
||
Alphard Profil |
#7 · Zasláno: 30. 3. 2008, 18:55:18
3lo mi jen o to, že počítače se chovají nepředvídatelně
ne ne, jenom programátoři, říká se tomu logické chyby |
||
Časová prodleva: 4 dny
|
|||
obin Profil * |
#8 · Zasláno: 3. 4. 2008, 12:06:38
No to je jasné, počítače se chovají nepředvídatelně jen proto, že ač vám kód i prostředí připadá stejné, opomněli nějakou drobnou změnu. Nu což, příklad za všechny. Kamarád dělal program v C++. Jak je jeho zvykem, nejdřív ho celý naprogramoval a až pak odstraňoval chyby. Po zkompilování mu to vyhodilo 3 stránky chyb. Tak je postupně všechny odstranil, ale z kódu udělal docela paskvil a program stejně nejel. Po dni práce a lámání si hlavy přišel jiný kamarád a zjistil, že to kompiluje kompilátorem pro C a ne pro C++. Kdo někdy programoval, ví o čem mluvím.
|
||
obin Profil * |
#9 · Zasláno: 3. 4. 2008, 13:06:16
Potřeboval bych ještě poradit. Nejsem v mysql ještě zběhlý a potřebuju příkaz, který:
vybere záznam z tabulky foto kde galerie=$idgalerie a zároveň ID tohoto záznamu je menší než $idvybrana zkoušel jsem mysql_query (" SELECT id FROM foto WHERE galerie='$idgalerie' HAVING id<'$idvybrana' "); ale tenhle příkaz není správně. Prosím zkušenější mysqlkáře o pomoc |
||
obin Profil * |
#10 · Zasláno: 3. 4. 2008, 13:41:09
zkusil jsem ještě toto
$dotaz = mysql_query (" SELECT id FROM (select * from foto WHERE galerie='".$_GET['str']."' order by id) WHERE id<'".$_GET['foto']."' order by id "); ale taky bez úspěchu. Oba pokusy hlásí Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Prog\web\www\ZS HRADEC\fotogalerie\zobraz.php on line 26 Znamená to, že funkce mysql_fetch_array nedostala data, ze kterých je schopna pole vytvořit. Ale já nevím, co jí teda jinýho předložit |
||
Kajman_ Profil * |
$dotaz = mysql_query ($q="SELECT id from foto WHERE galerie='$_GET[str]' and id<'$_GET[foto]' order by id desc") or die ($q." -- ".mysql_error());
|
||
Časová prodleva: 16 let
|
0