Autor Zpráva
DB_LAMA
Profil *
Nazdaz hosi, vidite v tomto nejakou chybu? Vzdy se mi vlozi do DB jen ID (bude to nejspis tim ze je to auto_increment)
    <b>Výpis aktualit:</b>
    <table border="1">
      <?      
        include "../configuration.php";         
        do {  
           MySQL_Connect("$db_server", "$db_user", "$db_password");
           MySQL_Query("set names 'utf8'");       
           MySQL_Select_DB("$db_database");		   
           $vysledek = MySQL_Query("SELECT * FROM board ORDER BY id"); 
           while ($zaznam = MySQL_Fetch_Array($vysledek))
             echo "<tr><td rowspan=2><b>".$zaznam["id"]."</b>. </td><td>".$zaznam["datum"]."</td></tr><tr><td>".$zaznam["zprava"]."</td></tr>";   
           MySQL_Close($spojeni);    
           }while (false);             
      ?>
    </table><br />
  
    <b>Přidávání aktualit:</b>
    <table border="1">
      <form method="get" name="insert">
        <input type="hidden" name="$_GET['idcko']" value="aktuality">
        <tr><td>ID:</td><td><input type="text" name="id"></td></tr>
        <tr><td>Datum události:</td><td><input type="text" name="datum"></td></tr>
        <tr><td>Zpráva:</td><td><textarea name="zprava" rows="6" cols="55"></textarea></td></tr>           
        <tr><td colspan="2" text-align="center"><input type="submit" value="Přidej">&nbsp;<input type="reset" value="Vymaž"></td></tr>
      </form>
    </table> 
    <?
      $id=$_GET['id']; 
      $datum=$_GET['datum'];
      $zprava=$_GET['zprava'];      
      include "../configuration.php";         
        do {  
           MySQL_Connect("$db_server", "$db_user", "$db_password");
           MySQL_Query("set names 'utf8'");       
           MySQL_Select_DB("$db_database");		   
           $vysledek = MySQL_Query("INSERT INTO board VALUES('$id','$datum','$zprava')");	 
           MySQL_Close($spojeni);    
           }while (false);
    ?><br />
Kajman_
Profil *
Vkládání provádějte, jen podud je $zprava neprázdná. Pořád tam vkládáte řádky s práznými hodnotami, když si stránku načtete.
DB_LAMA
Profil *
Vkládání provádějte, jen podud je $zprava neprázdná. Pořád tam vkládáte řádky s práznými hodnotami, když si stránku načtete.
Jestli jste myslel takto, tak to bohuzel nejde:
    <b>Přidávání aktualit:</b>
    <table border="1">
      <form method="get" name="insert">
        <input type="hidden" name="$_GET['idcko']" value="aktuality">
        <tr><td>ID:</td><td><input type="text" name="id"></td></tr>
        <tr><td>Datum události:</td><td><input type="text" name="datum"></td></tr>
        <tr><td>Zpráva:</td><td><textarea name="zprava" rows="6" cols="55"></textarea></td></tr>           
        <tr><td colspan="2" text-align="center"><input type="submit" value="Přidej">&nbsp;<input type="reset" value="Vymaž"></td></tr>
      </form>
    </table> 
    <?
      $id=$_GET['id']; 
      $datum=$_GET['datum'];
      $zprava=$_GET['zprava'];      
      include "../configuration.php";          
      
      if($zprava!=""){
           MySQL_Connect("$db_server", "$db_user", "$db_password");
           MySQL_Query("set names 'utf8'");       
           MySQL_Select_DB("$db_database");		   
           $vysledek = MySQL_Query("INSERT INTO board VALUES('$id','$datum','$zprava')");	   
           MySQL_Close($spojeni);       
      }
    ?>
tiso
Profil
DB_LAMA čo ti vypíše mysql_error? uprav riadok 21 takto:
$vysledek = MySQL_Query("INSERT INTO board VALUES('$id','$datum','$zprava')") OR die(mysql_error()); 
DB_LAMA
Profil *
$vysledek mi vypise toto: Resource id #5
Mastodont
Profil
DB_LAMA
Umíš chápat napsaný text?? Vypsaný $vysledek nikoho nezajímá.
panther
Profil
DB_LAMA
$vysledek mi vypise toto: Resource id #5
jak napsal tiso$vysledek = MySQL_Query("INSERT INTO board VALUES('$id','$datum','$zprava')") OR die(mysql_error()); “, zajímá nás, co vypíše mysql_error
DB_LAMA
Profil *
Chlapi ja vazne nevim, zapsal jsem to tak jak rekl tiso a neudela to nic, nevypise zadnou chyby proste nothing

    </table><br />
  
    <b>Přidávání aktualit:</b>
    <table border="1">
      <form method="get" name="insert">
        <input type="hidden" name="$_GET['idcko']" value="aktuality">
        <tr><td>ID:</td><td><input type="text" name="id"></td></tr>
        <tr><td>Datum události:</td><td><input type="text" name="datum"></td></tr>
        <tr><td>Zpráva:</td><td><textarea name="zprava" rows="6" cols="55"></textarea></td></tr>           
        <tr><td colspan="2" text-align="center"><input type="submit" value="Přidej">&nbsp;<input type="reset" value="Vymaž"></td></tr>
      </form>
    </table> 
    <?
      $id=$_GET['id']; 
      $datum=$_GET['datum'];
      $zprava=$_GET['zprava'];      
      include "../configuration.php";         
      if($zprava!=""){
           $spojeni=MySQL_Connect("$db_server", "$db_user", "$db_password");
           MySQL_Query("set names 'utf8'");     
           MySQL_Select_DB("$db_database");		   
           MySQL_Query("INSERT INTO board VALUES('$id','$datum','$zprava')") OR die("Chyba".mysql_error());   
           MySQL_Close($spojeni);   
      }
     
    ?><br />
tiso
Profil
DB_LAMA - v tom prípade to musí ísť..
Aké stĺpce a akého typu má tá tabuľka board?
ctverecek
Profil
Kdepak...pořád nic, už vážně nevim kde je zakopaný pes? Divné je že ani mysql_error() nefachá! Celý jev je ZDE

tiso
Profil
1. toto ti nefunguje: <input type="hidden" name="$_GET['idcko']" value="aktuality">
2. varchar je obmezený na 255 znakov, keď chceš vkladať väčší počet znakov použi datový typ text. int(100) je tiež blbosť.
3. keďže id je auto_increment, tak id z formulára sa tam vôbec nevloží, je zbytočné.
Joker
Profil
DB_LAMA
Nazdaz hosi, vidite v tomto nejakou chybu?
Já tam vidím chyb...
1. Proč je datum typu VARCHAR?
2. když je ID číslo, proč se vkládá jako řetězec (v uvozovkách)?
3. Vzít něco z GETu a vložit to rovnou do databáze není dobrý nápad.

No a ještě přidám můj doporučený postup na databázové chyby- vypěstovat si zvyk místo:
mysql_query(*dotaz*);
psát něco takovéhoto:
$sql = *dotaz*;
mysql_query($sql);
...a v případě problémů se jednoduše dá udělat echo($sql) a zkontrolovat ten dotaz vizuálně, nebo si ho vyhodnotit v phpMyAdminu třeba.
Joker
Profil
tiso
poznámka:
varchar je obmezený na 255 znakov
Už ne. Od MySQL 5.0.3 to může být až 65535.
Což samozřejmě nemění nic na tom, že v tomhle konkrétním případě je to nastavení ujeté.
tiso
Profil
Joker - pravda, na to stále zabúdam.
ctverecek
Profil
reaguji na Joker:
1) protoze je datum vkladano ve formatu: 16.2. - pondělí
2) $id=$_GET[id]; lepši?
3) ale funguje...tedy měl by fungovat :-(

reaguji na tiso:
takhle je to lepší?
tiso
Profil
ctverecek - lepšie to bude ak to bude fungovať... Skús radu z [#12] a nechaj si vypísať dotaz.
Joker
Profil
ctverecek
1) protoze je datum vkladano ve formatu: 16.2. - pondělí
To není důvod, aby datum nebylo jako datum.
Jinak hodně štěstí s dotazem typu "Vyber záznamy za poslední měsíc".

2) $id=$_GET[id]; lepši?
Ne. $_GET['id'] je správně, INSERT INTO board VALUES('$id' je špatně.
Krom toho, pokud ID je auto_increment, u nového příspěvku by se vůbec nemuselo předávat, tabulka si ho nastaví sama.

3) ale funguje...tedy měl by fungovat :-(
Bude to fungovat až do chvíle, než někdo napíše třeba zprávu: Roye v IT Crowd hraje Chris O'Dowd.
Anebo lepší vtípek- odesláním zprávy:
a'), (1,'a','a'), (1,'a','a') ON DUPLICATE KEY UPDATE SET zprava='' WHERE 1
jde vymazat všechny texty z tabulky.
...a s trochou snahy (a znalostí té konkrétní databáze) bych možná dal dohromady i zprávu, kterou bych si do tabulky zkopíroval data z jiné tabulky.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0