Autor Zpráva
perwin
Profil
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
ORDER BY `datum` DESC
Keeehi
Profil
SELECT * FROM `diskuze` ORDER BY datum DESC
perwin
Profil
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
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
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
mysql_query("INSERT INTO diskuze (vlozil,datum,zprava) VALUES ('$vlozil', NOW(), '$zprava')")
perwin
Profil
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
Při výběru dat z databáze uprav datum pomocí funkce DATE_FORMAT().
perwin
Profil
jak přesně?
jenikkozak
Profil
Doplnil jsem odkaz do svého příspěvku.
perwin
Profil
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
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
hmm tak tedka se tam ten datum uz nezobrazi vubec
perwin
Profil
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
DATETIME
perwin
Profil
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
A to vypsání potom vypadá jak? (php kód pro výpis)
perwin
Profil
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
DATE_FORMAT(datum,'%e.%c.%Y v %k:%i')
>>
DATE_FORMAT(datum,'%e.%c.%Y v %k:%i') as datum
perwin
Profil
díky moc už mi to funguje :-)
perwin
Profil
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
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.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: