Autor | Zpráva | ||
---|---|---|---|
Béééda Profil * |
Ahojte mám tu takový problém chtěl jsem si udělat aplikaci přidávání článků … Všechno šlape výborně ale já bych potřeboval, aby se při zápisu do db založil na webu new soubor s tím článkem … Zde je soupor zapis.php <?php include("pripojenie.php"); //nemoze vam chybat pripojenie do databazy if(isset($_POST['vloz'])) //ak bolo stlacene tlacitko Vlozit { $nadpis = $_POST['nadpis']; $text = $_POST['text']; $sql = "insert into tabulka set nadpis='".$nadpis."', text='".$text."';"; //prida udaje do db $vysledok = mysql_query($sql); if ($vysledok) { echo "Udaj uspesne pridany"; //vypise uspesnost } else { echo "Udaj nemohol byt pridany! Skuste to ešte raz."; //vypise neuspesnost }} ?> //formular <form method="post"> Nadpis: <input name="nadpis" type="text"><br> Text: <textarea name="text" cols="30" rows="3"></textarea><br> <input type="submit" value="Vložit" name="vloz"> </form> |
||
Taps Profil |
#2 · Zasláno: 9. 1. 2011, 16:24:41
Béééda:
zkus <?php include("pripojenie.php"); //nemoze vam chybat pripojenie do databazy if(isset($_POST['vloz'])) //ak bolo stlacene tlacitko Vlozit { $nadpis = $_POST['nadpis']; $text = $_POST['text']; $sql = "insert into tabulka set nadpis='".$nadpis."', text='".$text."';"; //prida udaje do db $vysledok = mysql_query($sql); if ($vysledok) { file_put_contents("novy-clanek.html",$text) ; echo "Udaj uspesne pridany"; //vypise uspesnost } else { echo "Udaj nemohol byt pridany! Skuste to ešte raz."; //vypise neuspesnost }} ?> //formular <form method="post"> Nadpis: <input name="nadpis" type="text"><br> Text: <textarea name="text" cols="30" rows="3"></textarea><br> <input type="submit" value="Vložit" name="vloz"> </form> |
||
Tori Profil |
#3 · Zasláno: 9. 1. 2011, 16:28:08
Béééda:
Jen dotaz: Proč ty články chcete ukládat duplicitně? Myslela bych, že je jednodušší v případě potřeby vytáhnout článek z db (a třeba nasypat do nějaké šablony), než při každé změně článku muset přepisovat soubor na aktuální verzi. |
||
xmark Profil |
#4 · Zasláno: 9. 1. 2011, 16:29:54
Myslím že Béééda nechce vůbec nic ukládat do souborů. Chce prostě přidávat články a pak je zobrazovat a neví, že se to přes soubory nedělá.
|
||
Béééda Profil * |
#5 · Zasláno: 9. 1. 2011, 16:36:43
Tak xmark OK. Jak to tedy jde udělat jinak ? Rád si nechám poradit ...
|
||
smonkey Profil |
#6 · Zasláno: 9. 1. 2011, 16:38:09
Béééda:
No, ukládáš články do Databáze ne? |
||
Béééda Profil * |
#7 · Zasláno: 9. 1. 2011, 16:39:25
Ano ukládám ... NO a co ? To mi vytvoří novej soubor ?
|
||
smonkey Profil |
#8 · Zasláno: 9. 1. 2011, 16:42:31
Ne, to ti nevytvoří nový soubor, jen nechápu, na co ti ten "soubor" bude ...
|
||
Keeehi Profil |
#9 · Zasláno: 9. 1. 2011, 16:42:51
Tak si je zase na potřebném místě vypíšeš. Nepotřebuješ k tomu žádný nový soubor.
|
||
xmark Profil |
#10 · Zasláno: 9. 1. 2011, 16:43:22
Béééda:
Máš na zobrazování článků dva soubory. Jedním vypisuješ z databáze jejich seznam, kde je řekněme datum vložení, autor, nadpis a prvních 150 znaků a odkaz na další stránku. Na ní pak vytáhneš opět z databáze jen ten jeden konkrétní článek a vypíšeš ho celý. Vytváření souborů při využití databáze nedává smysl. |
||
Béééda Profil * |
#11 · Zasláno: 9. 1. 2011, 16:44:31
Taps:
Ten soubor funguje, ale je problém že mi to udělá novy-soubor.html a zapíše to tam jen ten text bez nadpisu ... jak bych moh udelat aby se misto toho novy-soubor.html vypsalo nazevclanku.html a aby tam byl i text i nadpis? ...Díky za odpověd |
||
Béééda Profil * |
#12 · Zasláno: 9. 1. 2011, 16:46:31
xmark:
OK tak tedy jinak jak tam dam ten odkaz, aby to presmerovalo presne na ten clanek na ktery uzivatel klikal ??? |
||
Keeehi Profil |
#13 · Zasláno: 9. 1. 2011, 16:47:34 · Upravil/a: Keeehi
Příklad:
clanek.php?idclanku=45 Ve scriptu pak máš id článku v proměnné $_GET["idclanku"]. |
||
Béééda Profil * |
#14 · Zasláno: 9. 1. 2011, 16:51:45
Aha ... Zkusim to ale potřebuji vědět jak bude jeste ten skript od Taps ...
|
||
xmark Profil |
#15 · Zasláno: 9. 1. 2011, 16:52:18
Béééda:
Nejdřív si ujasni jestli soubor nebo databáze. Fungovat může obojí, to druhé je napoprvé mírně náročnější a ve všech ohledech lepší. Rozhodně nedoporučuju vytvářet nějaký hybrid, který bude napůl to a napůl to. Navážu na Keeehiho: V souboru clanek.php si podle $_GET["idclanku"] sáhneš do databáze a vytáhneš právě ten jeden článek. Naposled jsem toto někomu psal včera: http://diskuse.jakpsatweb.cz/?action=vthread&forum=3&topic=119978&page=-1 |
||
xmark Profil |
#16 · Zasláno: 9. 1. 2011, 16:53:36
Béééda:
„potřebuji vědět jak bude jeste ten skript od Taps“ To je přesně to, co nepotřebuješ. Taps ti odpověděl přesně na to, na co ses ptal. A ta otázka byla položená špatně. |
||
Béééda Profil * |
#17 · Zasláno: 9. 1. 2011, 17:07:17
OK takže výpis článků bude vypadat takto ?
<?php include("pripojenie.php"); $sql = mysql_query("SELECT * FROM tabulka") or die(mysql_error()); while($vypis = mysql_fetch_array($sql)) { echo "<h3>".$vypis["nadpis"]."</h3><br>"; //vypise nadpis echo "".$vypis["text"]."<br>"; // vypise text //Tu mate odkazy na upravenie alebo zmazanie udajov odkazy si uz mozte upravit podla seba echo "<a href='uprav.php?udaj=".$vypis["id"]."'>Zmenit</a> | <a href='zmaz.php?zmazat=ok&id=".$vypis["id"]."'>Zmazat</a>"| <a href='vypis.php?udaj=".$vypis["id"]."'>Článek</a>" ; } ?> ? |
||
xmark Profil |
#18 · Zasláno: 9. 1. 2011, 17:14:09
Béééda:
Výpis seznamu článků principielně ano. Jen tam zřejmě nebudeš vypisovat jejich kompletní obsah, tzn. ř. 9 smaž. Vypsání obsahu konkrétního článku uděláš stejně, jen do toho dotazu SELECT * FROM tabulka musíš přidat podmínku, která vytáhne ten jeden článek, tzn. "SELECT * FROM tabulka WHERE id=".$_GET["idclanku"]. |
||
Béééda Profil * |
#19 · Zasláno: 9. 1. 2011, 17:22:46
nefachčí to a ted opravdu nevím čím to je .. :( Ten skript m8m takto :
<?php include("pripojenie.php"); $sql = mysql_query("SELECT * FROM tabulka WHERE id=".$_GET["id"]) or die(mysql_error()); while($vypis = mysql_fetch_array($sql)) { echo "<h3>".$vypis["nadpis"]."</h3><br>"; //vypise nadpis //Tu mate odkazy na upravenie alebo zmazanie udajov odkazy si uz mozte upravit podla seba echo "<a href='uprav.php?udaj=".$vypis["id"]."'>Zmenit</a> | <a href='zmaz.php?zmazat=ok&id=".$vypis["id"]."'>Zmazat</a>" | <a href='vypis.php?udaj=".$vypis["id"]."'>Clanek</a>" ; } ?> |
||
Taps Profil |
#20 · Zasláno: 9. 1. 2011, 17:24:02
Béééda:
$sql = mysql_query("SELECT * FROM tabulka where id=".intval($_GET["id"])) or die(mysql_error()); |
||
Béééda Profil * |
#21 · Zasláno: 9. 1. 2011, 17:24:59
Mozná bude problém s tímto:
<a href='vypis.php?udaj=".$vypis["id"]."'>Clanek</a>" <a href='uprav.php?udaj=".$vypis["id"]."'>Zmenit</a> |
||
Béééda Profil * |
#22 · Zasláno: 9. 1. 2011, 17:26:18
Taps:
Stejnak to nejde... :( |
||
Béééda Profil * |
#23 · Zasláno: 9. 1. 2011, 17:28:37
Tady je skript třeba toho uprav.php:
<?php include("pripojenie.php"); if(isset($_POST['uprav'])) //ak bolo stlacene tlacitko uprav { $nadpis = $_POST['nadpis']; $text = $_POST['text']; $sql ="UPDATE tabulka set nadpis='".$nadpis."', text='".$text."' WHERE id = '".$udaj."'"; //upravime udaje v db $vysledok=mysql_query($sql); if ($vysledok) { echo "Udaj uspesne upraveny"; //vypise uspesnost } else { echo "Udaj nemohol byt upraveny! Skuste to ešte raz."; //vypise neuspesnost }} $sql = mysql_query("SELECT * FROM tabulka where id= '".$udaj."'"); //vytiahneme udaje z db $vypis = mysql_fetch_row($sql); echo '<form method="post">'; echo 'Nadpis: <input name="nadpis" type="text" value="'.$vypis[1].'"><br>'; //vypiseme nadpis echo 'Text: <textarea name="text" cols="30" rows="3">'.$vypis[2].'</textarea><br>'; //vypiseme text echo '<input type="submit" value="Upravit" name="uprav">'; echo '</form>'; ?> |
||
Taps Profil |
#24 · Zasláno: 9. 1. 2011, 17:36:59 · Upravil/a: Taps
Béééda:
<?php include("pripojenie.php"); if(isset($_POST['uprav'])) //ak bolo stlacene tlacitko uprav { $nadpis = $_POST['nadpis']; $text = $_POST['text']; $udaj=$_POST['idecko']; $sql ="UPDATE tabulka set nadpis='$nadpis', text='$text' WHERE id = '$udaj'"; //upravime udaje v db $vysledok=mysql_query($sql); if ($vysledok) { echo "Udaj uspesne upraveny"; //vypise uspesnost } else { echo "Udaj nemohol byt upraveny! Skuste to ešte raz."; //vypise neuspesnost }} $sql = mysql_query("SELECT * FROM tabulka where id= '$udaj'"); //vytiahneme udaje z db $vypis = mysql_fetch_array($sql); echo '<form method="post">'; echo '<input type="hidden" name="idecko" value="'.$vypis['id'].'">'; // sem musíš dostat hodnotu id echo 'Nadpis: <input name="nadpis" type="text" value="'.$vypis[1].'"><br>'; //vypiseme nadpis echo 'Text: <textarea name="text" cols="30" rows="3">'.$vypis[2].'</textarea><br>'; //vypiseme text echo '<input type="submit" value="Upravit" name="uprav">'; echo '</form>'; ?> |
||
xmark Profil |
#25 · Zasláno: 9. 1. 2011, 17:38:43
Béééda:
Doporučil bych začít tím, že si uděláš ten výpis. Editaci vyřešíší potom. Přejmenuj si "tabulka" na "clanky", nastrkej si tam 4 "články" a rozpohybuj výpis článkú (1. soubor) a vypsání jednoho konkrétního článku (2. soubor). |
||
Béééda Profil * |
#26 · Zasláno: 9. 1. 2011, 17:40:19
xmark:
A nemoh bys mi poradit s tím co mám nahoře ? $sql = mysql_query("SELECT * FROM tabulka where id= '$udaj'"); //vytiahneme udaje z db $vypis = mysql_fetch_array($sql); |
||
Taps Profil |
#27 · Zasláno: 9. 1. 2011, 18:02:07 · Upravil/a: Taps
Béééda:
ten řádek je správně zkus si vypsat mysql error u sql dotazů $vysledok=mysql_query($sql) or die (mysql_error()); a do formu přidej echo '<form method="post" action="#">'; |
||
Béééda Profil * |
#28 · Zasláno: 9. 1. 2011, 18:09:04
Nic ... žádná chybová hláška ... Hele Taps ten tvuj skript sel dobre jak udelam ze misto novy-clanek.html to bude nazevclanku.html ... ? Nebo pls porad mi s tím skriptem ...
|
||
Taps Profil |
#29 · Zasláno: 9. 1. 2011, 18:20:19 · Upravil/a: Taps
Béééda:
$obsah=$nadpis.'<br>'.$text; file_put_contents($nadpis.'.html',$obsah) ; |
||
Béééda Profil * |
#30 · Zasláno: 9. 1. 2011, 18:31:47
Dík ... hele hrábnu se v tom a kdyžtak napíšu ... Ale jinak dík moc ...
|
||
Časová prodleva: 12 let
|
0