Autor | Zpráva | ||
---|---|---|---|
perwin Profil |
#1 · Zasláno: 7. 10. 2010, 17:54:45
Ahoj, potřebuju se zeptat, jestli něko neví, jak udělat, když mám napsáno
("SELECT * FROM `diskuze` ORDER BY datum") - to se vypise od nejstarsiho datumu nahoře, a nejnovějšího datumu dole, a jak můžu udělat, aby se to vypisovalo naopak? Jako že bude nejnovější datum nahoře, a nejstarší dole? Celý kód stránky: <div style=" font-size: 10pt;"> <?php require_once "db.php"; $query = MySQL_Query("SELECT * FROM `diskuze` ORDER BY datum") or die (mysql_error()); echo "<table>"; echo " <tr> <th>Vložil</th> <th> </th> <th>Datum vložení</th> <th> </th> <th>Text zprávy</th> </tr> "; $Pocet=0; while($Vysledek = mysql_fetch_array($query)){ $Pocet++; echo " <tr> <td>".$Vysledek['vlozil']."</td> <td> </td> <td>".$Vysledek['datum']."</td> <td> </td> <td>".$Vysledek['zprava']."</td> </tr> "; } echo "</table>"; ?> </div> |
||
nightfish Profil |
#2 · Zasláno: 7. 10. 2010, 17:55:41
ORDER BY `datum` DESC |
||
Keeehi Profil |
#3 · Zasláno: 7. 10. 2010, 17:56:01
SELECT * FROM `diskuze` ORDER BY datum DESC |
||
perwin Profil |
#4 · Zasláno: 9. 10. 2010, 12:02:54
Ahoj, nevíte prosím, jak mám udělat, aby se:
<form action='diskuze_zpracuj.php' method='post'> <input type='hidden' name='sent' value=''/> <input type='text' name='vlozil' value=''/> <strong>Už. jméno</strong> <br/> <input type='text' name='datum' maxlength='14'/ value='sem'> <strong>Datum vložení</strong> <br/> <textarea name='zprava' wrap=physical cols=50 rows=7></textarea><br/> <strong>Pište bez háčků a čárek!</strong> <input id='i1' type='submit' name='send' value='Vložit zprávu'/> </form> vypisoval sám přesný datum a čas vložení zprávy, aniž by ten čas tam musel vkladat ten uživatel? děkuji |
||
jenikkozak Profil |
#5 · Zasláno: 9. 10. 2010, 12:34:59
perwin:
Datum nevkládejte do value inputu, protože čas mezi vygenerováním inputu a odesláním formuláře by způsoboval chyby. (Příspěvky by ve skutečnosti nebyly řazeny podle data odeslání.) Lepší bude vložit datum při ukládání záznamu do databáze: (Nevím, jaký používáte kód pro ukládání příspěvků.) ...datum=NOW()... |
||
perwin Profil |
#6 · Zasláno: 9. 10. 2010, 12:54:50 · Upravil/a: perwin
kód stránky diskuze_zpracuj.php:
<?php ob_start(); if(isset($_POST['sent'])){ $vlozil=trim($_POST['vlozil']); $datum=$_POST['datum']; $zprava=$_POST['zprava']; if($zprava=="" or $vlozil=="" or $datum==""){ $backlink="index.php?page=diskuze&Alert=1"; }else{ require "db.php"; $PocetStejnych=mysql_result(mysql_query("SELECT COUNT(*) FROM `uzivatele` WHERE `zprava`='$zprava' OR `vlozil`='$vlozil'"), 0); if($PocetStejnych!=0){ $backlink="index.php?page=registrace&Alert=2"; }else $VlozData=mysql_query("INSERT INTO diskuze (vlozil,datum,zprava) VALUES ('$vlozil', '$datum', '$zprava')") or die (mysql_error()); $backlink="index.php?page=diskuze"; // presmerovani s hlaskou ze je vse OK } } else{ $backlink="index.php?page=diskuze"; } header ("Location: $backlink"); ob_end_flush(); ?> |
||
jenikkozak Profil |
#7 · Zasláno: 9. 10. 2010, 13:00:15
mysql_query("INSERT INTO diskuze (vlozil,datum,zprava) VALUES ('$vlozil', NOW(), '$zprava')") |
||
perwin Profil |
#8 · Zasláno: 9. 10. 2010, 14:07:52 · Upravil/a: perwin
a lze nastavit jak se na stranky vklada ten datum? zatim se to vklada takto:
2010-10-09 14:06:53 já bych se třeba přál, aby se to vkládalo takto: 9.10.2010 14:06:53 |
||
jenikkozak Profil |
#9 · Zasláno: 9. 10. 2010, 14:25:33 · Upravil/a: jenikkozak
Při výběru dat z databáze uprav datum pomocí funkce DATE_FORMAT().
|
||
perwin Profil |
#10 · Zasláno: 9. 10. 2010, 14:26:42
jak přesně?
|
||
jenikkozak Profil |
#11 · Zasláno: 9. 10. 2010, 14:28:32
Doplnil jsem odkaz do svého příspěvku.
|
||
perwin Profil |
#12 · Zasláno: 9. 10. 2010, 14:33:53
když tam vložím toto:
MySQL_Query("SELECT *, DATE_FORMAT('datum','%e.%c.%Y,%k:%i') FROM `diskuze` ORDER BY datum DESC") or die (mysql_error()); tak to stejně nefunguje |
||
jenikkozak Profil |
#13 · Zasláno: 9. 10. 2010, 14:39:58
Datum není řetězec, proto nemá být v apostrofech; Není nutno z databáze vytahovat všechny hodnoty daného řádku, a datum navíc dvakrát.
MySQL_Query("SELECT vlozil, DATE_FORMAT(datum,'%e.%c.%Y v %k:%i'), zprava FROM `diskuze` ORDER BY datum DESC") or die (mysql_error()); |
||
perwin Profil |
#14 · Zasláno: 9. 10. 2010, 14:43:49
hmm tak tedka se tam ten datum uz nezobrazi vubec
|
||
perwin Profil |
#15 · Zasláno: 10. 10. 2010, 19:23:03
Poraďte prosím. Má být v db sloupec 'datum' typu TIMESTAMP, DATETIME nebo TEXT? A jak má vypadat tento script, aby se datum vypisoval DD.MM.RR, HH:MM? Děkuji
|
||
Keeehi Profil |
#16 · Zasláno: 10. 10. 2010, 20:32:48
DATETIME
|
||
Časová prodleva: 12 dní
|
|||
perwin Profil |
#17 · Zasláno: 22. 10. 2010, 19:17:16
Prosím poraďte mi s tím, ikdyž jsem se koukal na ty stránky jak to napsat, a chápu to, pořád nechápu proč se mi nic se scriptem
MySQL_Query("SELECT vlozil, DATE_FORMAT(datum,'%e.%c.%Y v %k:%i'), zprava FROM `diskuze` ORDER BY datum DESC") or die (mysql_error()); nezobrazí, prostě je pole Datum vložení prázdné, děkuji. |
||
Keeehi Profil |
#18 · Zasláno: 22. 10. 2010, 21:32:27
A to vypsání potom vypadá jak? (php kód pro výpis)
|
||
perwin Profil |
#19 · Zasláno: 22. 10. 2010, 21:41:10
celý kód:
<?php require_once "db.php"; $query = MySQL_Query("SELECT vlozil, DATE_FORMAT(datum,'%e.%c.%Y v %k:%i'), zprava FROM `diskuze` ORDER BY datum DESC") or die (mysql_error()); echo "<table>"; echo " <tr> <th>Vložil</th> <th> </th> <th style='width: 95pt;'>Datum vložení</th> <th> </th> <th>Text zprávy</th> </tr> "; $Pocet=0; while($Vysledek = mysql_fetch_array($query)){ $Pocet++; echo " <tr> <td>".$Vysledek['vlozil']."</td> <td> </td> <td>".$Vysledek['datum']."</td> <td> </td> <td>".$Vysledek['zprava']."</td> </tr> "; } echo "</table>"; ?> |
||
Keeehi Profil |
#20 · Zasláno: 22. 10. 2010, 21:44:36
DATE_FORMAT(datum,'%e.%c.%Y v %k:%i') DATE_FORMAT(datum,'%e.%c.%Y v %k:%i') as datum |
||
perwin Profil |
#21 · Zasláno: 22. 10. 2010, 22:20:22
díky moc už mi to funguje :-)
|
||
perwin Profil |
#22 · Zasláno: 22. 10. 2010, 22:26:30
Jo a je tu ještě takovej jeden malej problémek...
když někdo vloží zprávu např. v 7:40, a potom někdo např. ve 22:40, tak se mi to v řazení podle datumu prohodí, a ta zpráva v 7:40 se mi napíše před tu 22:40 jako že byla vložená dříve... co s tím mám dělat? Díky |
||
Keeehi Profil |
#23 · Zasláno: 22. 10. 2010, 22:58:35
perwin:
To by se stát nemělo, jelikož to máte řazené pode data sestupně (od nejnovějšího k nejstaršímu). V tomto kódu chybu nevidí, takže bude nejspíše někde jinde. |
||
Časová prodleva: 14 let
|
0