Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
MelkorNemesis
Založen: 27. 10. 2007 Příspěvky: 12
|
Zaslal: 27. říjen 2007, 09:37:16 Předmět: Problem s DB |
|
|
Dobrý den, začal sem s PHP a dopracoval se az k MySQL.
Narazil sem na jeden takový problem, ktery sem nebyl schopny po 8mi hodinach vyresit.
V moji tabulce v DB mam
kód: |
date date not null,
header varchar(200) not null,
content text not null
|
a muj PHP kod pro vkladani i zobrazeni
kód: |
<form method="post" action="<?php $_SERVER['PHP_SELF'];?>" >
Nadpis novinky:<br />
<input type="text" name="newshead" class="formhead"><br />
Text novinky:<br />
<textarea name="content" class="formcont"></textarea><br />
<input type="submit" name="send" value="Odeslat" class="form">
</form>
<?php
include ("configmysql.php");
mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD) or die("K databázi MySQL se nelze připojit: " . mysql_error());
mysql_select_db(SQL_DBNAME) or die("Nelze vybrat databázi: ". mysql_error());
$vysledek=mysql_query("INSERT INTO news VALUES ('".date("Y-m-d")."' , '".$_POST[newshead]."', '".$_POST[content]."')");
$vysledek=mysql_query("SELECT * FROM news ORDER BY date desc");
echo mysql_error();
while($zaznam = MySQL_Fetch_assoc($vysledek))
{
echo "<div id='newshead'>".$zaznam['header']."</div>";
echo "<div id='newscont'>".$zaznam['content']."</div><div id='newspaticka'>Napsal Andílek - Článek je chráněn autorským právem.</div>";
}
?>
|
Problem je takovy, ze at delam co delam, nechce mi to vypisovat sestupne (vkladana novinka se vpise nahoru), ikdyz tam mam datum a dany ORDER BY date desc.
A jeste jeden problem, pri kliknuti na danou sekci v nich je kod, se automaticky vlozi prazdna novinka. Dekuju za pomoc a pro pripadny nahled na problem http://mojenebe.ic.cz/index.php?str=tvorba
Edit: Link |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 27. říjen 2007, 09:52:45 Předmět: |
|
|
boha
1) prazdna novinka
-- se podivej se pokazde insertujes - vubec si nedelas nejakou kontrolu ze insertovat chces
2) pokud nechces novinku nahore, ale na konci co takto to seradit podle data vzestupne (ASC)?
3)
by urcite melo byt
kód: |
ORDER BY `date` DESC |
jak se doctes v dokumentaci o nazyvani sloupecku systemovymi jmeny
4) mas tam solidni chyby ve vkladani
a) zadne osetreni vstupu
b)
bych urcite nahradil za
coz je to co urcite chces
5) http://www.wordpress.com - doporucuji stahnout a nasadit na tvem webu - vyresi to asi tak 150% tvych problemu |
|
Návrat nahoru |
|
|
MelkorNemesis
Založen: 27. 10. 2007 Příspěvky: 12
|
Zaslal: 27. říjen 2007, 10:10:01 Předmět: |
|
|
rezna: vyzkousim to diky...rikam ze s tim zacinam, takze napred to potrebuju rozchodit aby to jelo normalne, a pak az osetrovat podminkama
php se chci naucit, a tim ze tam hodim wordpress se toho moc nenaucim..diky
edit: vzestupne to chci, asi sem se spatne vyjadril, dal sem tam ty `` ale stejne to nejede.. :/ |
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
|
Návrat nahoru |
|
|
MelkorNemesis
Založen: 27. 10. 2007 Příspěvky: 12
|
Zaslal: 27. říjen 2007, 11:21:25 Předmět: |
|
|
znam linuxsoft...ale nepřišel sem mu asi moc na chuť, sáhodlouhé kódy a nutnost mít přečtené všechny předchozí díly...protože jeden článek je pokračování k jinému. |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 27. říjen 2007, 11:23:57 Předmět: |
|
|
MelkorNemesis napsal: |
a nutnost mít přečtené všechny předchozí díly...protože jeden článek je pokračování k jinému. |
njn - proc se ucit zaklady PHP kdyz jenom potrebuju nacist jak udelat ty nejvic cool veci okamzite, bez toho aniz bych vedel co to PHP vubec je, jak to funguje apod. ze?
jako sorry - ale to je uplne stejne jako to cemu se tu snazime naucit v oblasti vyvoje her - nauc se zaklady a ne udelej jako prvni utlra-mega-supa-cool-nejlepsi MMORPG.
takze bud se holt prokousej zakladama a snaz se to pochopit a pak prijdi s rozumnou otazkou, nad rozumnym a alespon castecne funkcnim a slusnym kodem a nebo se tu neptej. |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 27. říjen 2007, 11:31:52 Předmět: |
|
|
a abys nerekl ze jsem mrdka tu je komentar
kód: |
<form method="post" action="<?php $_SERVER['PHP_SELF'];?>" >
Nadpis novinky:<br />
<input type="text" name="newshead" class="formhead"><br />
Text novinky:<br />
<textarea name="content" class="formcont"></textarea><br />
<input type="submit" name="send" value="Odeslat" class="form">
</form>
<?php
include ("configmysql.php");
mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD) or die("K databázi MySQL se nelze připojit: " . mysql_error());
mysql_select_db(SQL_DBNAME) or die("Nelze vybrat databázi: ". mysql_error());
// TADY MA BYT TEN IF - jinak se proste muzes divit ze ti to porad vklada prazne novinky
$vysledek=mysql_query("INSERT INTO news VALUES ('".date("Y-m-d")."' , '".$_POST[newshead]."', '".$_POST[content]."')");
// TOTO JE PRISERNOST - a pokud se z ni nepoucis na zacatku, budes az do konce zivota psat, spatne, nefunkcni, padave a hlavne derave aplikace!!!
1) - neumi to vlozit prispevek s uvozovkou!
2) $_POST[newshead], $_POST[content] - proc on nekdo neudela k tomu PHP compiler nebo syntaktickej analyzer :( - tohle je preci blbost
-- chces precist hodnotu v poli s klicem 'newshead' - takze $_POST['newshead']
// TADY MA KONCIT TEN IF
$vysledek=mysql_query("SELECT * FROM news ORDER BY date desc");
// TOTO JE PRISERNOST
1) SELECT * FROM - tohle se nesmi! - zpomalovac databaze, zpomalovac aplikace, ...
2) pokud ti to spatne radi, podivej se co je skutecne v DB, a jak se DB samotna zachova k takovemuto dotazu
-- pokud s tim chces poradit vyjed si pres konzoli obsah tabulky, postni ho sem (nejlepe v INSERT forme) a pak se muzeme zacit bavit kde je chyba
-- ale jak jsem napsal ta prvni je uz vubec v tom DESC kde chces ASC, a druha v tom date a ne `date` ktere jsi tam asi chtel
-- ale pokud ti to spatne sortuje tipuju ze bud mas nevhodny typ pole (neumi to seradit spravne) - nebo ho plnis spatnymi hodnotami
-- doporucuju pouzit misto date/datetime typ int(11) a do nej ukladat unix-timestamp
echo mysql_error();
while($zaznam = MySQL_Fetch_assoc($vysledek))
{
echo "<div id='newshead'>".$zaznam['header']."</div>";
echo "<div id='newscont'>".$zaznam['content']."</div><div id='newspaticka'>Napsal Andílek - Článek je chráněn autorským právem.</div>";
}
?> |
a btw - ceske-hry.cz nema nikde v popisu web-development (ikdyz tu ta sekce jako absolutni oddychovka je), takze bys mel vyuzit mist kde ti poradi opravdu fundovani lide - jako muze byt interval.cz treba. |
|
Návrat nahoru |
|
|
MelkorNemesis
Založen: 27. 10. 2007 Příspěvky: 12
|
Zaslal: 27. říjen 2007, 11:36:18 Předmět: |
|
|
Jasne omlouvam se...ja se na linuxsoftu dostal asi na 40dil v PHP, coz zahrnovalo i nejake databaze, ale radeji sem chtel zkusit napsat neco sam, nez to tupe opisovat z linuxsoftu. A nevedel jsem proc mi to nejede, takze vsem diky za reakce a omlouvam se za spam |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 27. říjen 2007, 11:52:53 Předmět: |
|
|
MelkorNemesis napsal: |
Jasne omlouvam se...ja se na linuxsoftu dostal asi na 40dil v PHP, coz zahrnovalo i nejake databaze, ale radeji sem chtel zkusit napsat neco sam, nez to tupe opisovat z linuxsoftu. A nevedel jsem proc mi to nejede, takze vsem diky za reakce a omlouvam se za spam |
a proc to tupe opisujes? kdo rika ze mas 40 dilu PHP tupe opsat? - ty dily jsou jenom navod jak neco udelat. ty si mas pokazde dat ukol a zkusit ho napsat po svem se znalostma ktere jsi nabyl.
ale ty jsi to opravdu evidentne pouze tupe opsal, kdyz ani nevis jak se pristupuje do pojmenovaneho pole. |
|
Návrat nahoru |
|
|
|