| | |
| Stránka: 1 z 1
| [ Príspevkov: 21 ] | |
Autor | Správa |
---|
Registrovaný: 31.07.07 Prihlásený: 09.01.19 Príspevky: 327 Témy: 85 Bydlisko: Humenné |
Zaujimalo by aký spôsobom by sa dalo naprogramovať, že by som mal na stránke text a ak by nejaké slovo alebo slovné spojenie nachadzalo v databaze aby bol na neho. Vedel by mi niekto povedať ako by sa to dalo naprogramovať ? Postup, prípadne akú funkciu nato použiť
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
však tak, ako si si to teraz napísal... spracuješ text, porovnáš s databázou a podľa toho upravíš text, aby sa vypísal ako ho chceš
_________________ C#, PHP, ... |
|
Registrovaný: 31.07.07 Prihlásený: 09.01.19 Príspevky: 327 Témy: 85 Bydlisko: Humenné |
walther píše: však tak, ako si si to teraz napísal... spracuješ text, porovnáš s databázou a podľa toho upravíš text, aby sa vypísal ako ho chceš
No ale to spracovanie neviem ako lebo porovnať ho s databazou nie je problém, ale tak ked mam nejaký dlhý text a iba určité slová sú v db tak ako to urobím vôbec neviem
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
čo tak pozrieť dokumentáciu php ohľadom práce s textom? tých "funkcií" treba použiť viac. v dokumentácii si už musíš ty pozrieť, čo vlastne potrebuješ a ako si to predstavuješ
_________________ C#, PHP, ... |
|
Registrovaný: 31.07.07 Prihlásený: 09.01.19 Príspevky: 327 Témy: 85 Bydlisko: Humenné |
walther píše: čo tak pozrieť dokumentáciu php ohľadom práce s textom? tých "funkcií" treba použiť viac. v dokumentácii si už musíš ty pozrieť, čo vlastne potrebuješ a ako si to predstavuješ
Ako v pohode by som to vedel urobiť ak by tam bolo iba jedno slovo ale ked tam bude nejaký dlhý text a z toho celé textu ako to rozdeliť alebo ako urobiť no pokúsim sa ale neviem, či sa mi to podarí. // pridané po 3 minútach od posledného príspevkuNo skúsil som toto iba tak a funguje pekné vypiše ten text meno a priezvisko v odkaze to lenže pri väčšom texte kde budú medzery, pomlčky a iné znaky to je zložitejšie.
echo(str_replace("Meno a priezvisko","<a href=odkaz.php>Meno a priezvisko</a>","Meno a priezvisko"));
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
samozrejme, tam treba pracovať s poliami, premennými atď...
Citácia: kde budú medzery, pomlčky a iné znaky to je zložitejšie.
pochopiteľne
_________________ C#, PHP, ... |
|
Registrovaný: 31.07.07 Prihlásený: 09.01.19 Príspevky: 327 Témy: 85 Bydlisko: Humenné |
Tak som sa trochu posunul len teraz to vypisuje dosť hlupo lebo to vypisuje po 100-krát
Kód: <?php
if($_POST["send"]){ $connect = mysql_connect("localhost","root","heslo"); $db = mysql_select_db("databaza"); $sql=mysql_query("SELECT * FROM herci") or die(mysql_error()); while($row=mysql_fetch_array($sql)){ echo(str_replace("$row[meno]","<a href=info.php?id=$row[id]>$row[meno]</a>","$_POST[text]")); } }
?> <form action="pokus.php" method="post"> <input type="text" name="text" value=""> <input type="submit" name="send" value="send"> </form>
// pridané po 50 sekundách od posledného príspevku
Ale tak trochu to už funguje len to ešte nie je ono
// Kod patri do code! Ďuri
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
ešte párkrát sa posnažíš a možno trafíš akurát kód patrí do CODE
_________________ C#, PHP, ... |
|
Registrovaný: 31.07.07 Prihlásený: 09.01.19 Príspevky: 327 Témy: 85 Bydlisko: Humenné |
walther píše: ešte párkrát sa posnažíš a možno trafíš akurát kód patrí do CODE
Nejde mi to teraz opraviť Ono mi to už funguje len mi to veľakrát vypisuje Som si ani nemyslel, že to bude také ľahké keď sa trochu posnažím Len už urobiť to aby to nevypisovalo 100-krát rozmýšľam, že to skúsim cez for len som zvedavý či to pôjde lebo neviem akú tam dam podmienku
// pridané po 10 minútach od posledného príspevku
Ono je to dosť zložité lebo skript vypíše to čo užívateľ zadal v $_POST[text] a potom vypisuje ten text čo zadal uživateľ vo formulári toľkokrát koľko je stlpcov v danej tabuľke
// pridané po 1 minúte od posledného príspevku
napríklad som zadal meno a priezvisko tak mi 100-krát vypiše meno a priezvisko a na to ide kde je v tabuľke zadane meno a priezvisko mi hodí odkaz a ja potrebujem aby mi to vypisalo len 1-krát fakt mi pomôžte ako nato
// pridané po 3 minútach od posledného príspevku
Došiel som nato prečo mi to tak vypisuje lebo to echo je v cyklu lenže neviem ako to inak urobiť
// pridané po 14 hodinách 26 minútach od posledného príspevku
Skúšal som už aj takýto zápis a nefunguje to vypiše mi iba to čo bolo zadané v $_POST["text"]
Kód: <?php
if($_POST["send"]){ $connect = mysql_connect("localhost","root","heslo"); $db = mysql_select_db("databaza"); $sql=mysql_query("SELECT * FROM herci") or die(mysql_error()); while($row=mysql_fetch_array($sql)){ $str=str_replace("$row[meno]","<a href=info.php?id=$row[id]>$row[meno]</a>","$_POST[text]"); } echo $str; }
?> <form action="pokus.php" method="post"> <input type="text" name="text" value=""> <input type="submit" name="send" value="send"> </form> // pridané po 6 hodinách 18 minútach od posledného príspevkuSkúsil som to zapisať aj do poľa no výsledok sa ďalej nepohol. Kód: $name=$row["name"]; $id=$row["id"]; $arr=array($name); $arra=array("<a href=info.php?id=$id>$name</a>"); print_r(str_replace("$arr[0]","$arra[0]","$text"));
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
_________________ C#, PHP, ... |
|
Registrovaný: 31.07.07 Prihlásený: 09.01.19 Príspevky: 327 Témy: 85 Bydlisko: Humenné |
walther píše:
No skúsil som tam dať aj echo ale bez rozdielu. Pozrel som si to str_replace, ale nič nové ma nenapadlo čo by som mohol mať zlé alebo ako by to malo byť
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
daj sem celý nový kód, nielen časť
_________________ C#, PHP, ... |
|
Registrovaný: 31.07.07 Prihlásený: 09.01.19 Príspevky: 327 Témy: 85 Bydlisko: Humenné |
walther píše: daj sem celý nový kód, nielen časť
Kód: <?php
if($_POST["send"]){ $connect = mysql_connect("localhost","root","heslo"); $db = mysql_select_db("db"); $sql=mysql_query("SELECT * FROM herci") or die(mysql_error()); $text = $_POST["text"]; while($row=mysql_fetch_array($sql)){ $name=$row["name"]; $id=$row["id"]; $arr=array($name); $arra=array("<a href=info.php?id=$id>$name</a>"); echo(str_replace("$arr[0]","$arra[0]","$text")); }
} ?>
Výsledok je taký istý ako stále vypiše všetko po 100-krát a tam kde je to meno také aké je v db tak da na neho odkaz a naopak, keď som dal echo za ten cyklus tak mi to vypiše iba jeden krát ale bez odkazu
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
panenka, ty si vôbec nečítal čo som ti písal...
neechuj to v cykle, ale použi na otestovanie funkčnosti dve polia - prvé kde budú výsledky z DB a druhé, kde budú ekvivalenty, za čo to nahradiť. a to použi pri funkcii str_replace, ale už MIMO cyklu. v tom linku čo som ti dal to máš presne ukázané, dúfal som, že si to spojíš dokopy...
_________________ C#, PHP, ... |
|
Registrovaný: 31.07.07 Prihlásený: 09.01.19 Príspevky: 327 Témy: 85 Bydlisko: Humenné |
walther píše: panenka, ty si vôbec nečítal čo som ti písal...
neechuj to v cykle, ale použi na otestovanie funkčnosti dve polia - prvé kde budú výsledky z DB a druhé, kde budú ekvivalenty, za čo to nahradiť. a to použi pri funkcii str_replace, ale už MIMO cyklu. v tom linku čo som ti dal to máš presne ukázané, dúfal som, že si to spojíš dokopy...
Ale veď tam sú dva polia $arr=array($name); $arra=array("<a href=info.php?id=$id>$name</a>"); Prvé pole sú výsledky z db a druhé je to čím sa to ma nahradiť a potom je tam str_replace funkcia a ked to dam mimo toho cyklu tak mi to iba raz obyčajne vypiše
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
dva polia.... ah..
tie polia máš najskôr naplniť tými hodnotami, lebo inak to nemá zmysel. to napĺňanie rob v cykle, spracovanie textu už mimo cyklu. vieš si predstaviť, čo by to robilo keby si mal dlhokánsky text a v datábaze 10 000 údajov?
_________________ C#, PHP, ... |
|
Registrovaný: 20.10.08 Prihlásený: 21.06.22 Príspevky: 2602 Témy: 31 Bydlisko: Bratislava |
v prvom rade sa treba naucit ako funguju polia v PHP, lebo v cykle while pri kazdej iteracii prepisujes pole novou hodnotou..
Ak chces v cykle naplnat pole musis to robit takto:
Kód: while( podmienka ) { pole[] = 'nieco'; //hranate zatvorky si vsimni }
_________________ Desktop: iMac 21" CPU: i5 2.7GHz RAM: 4 GB DDR3 1333MHz GPU: AMD Radeon HD 6770M 512MB RAM HDD: 1TB 7200 rpm OS: Mac OS X Lion Desktop: CPU: AMD Phenom II x4 BE 955 3.2@3.6GHz 1.35@1.30V CPU Cooler: Gelid Tranquillo rev.2 MB: Gigabyte 880GM-UD2H RAM: 2x2 GB Kingston 1333MHz GPU: MSI HD 6850 Cyclone 1GB PSU: Seasonic S12II-620 620W HDD: Seagate Barracuda 7200.12 1TB Case: CoolerMaster Elite 333 LCD: 22" LG flatron W2261VP Keyboard: Microsoft Comfort Curve 2000 Mouse: Microsoft Wireless Mobile Mouse 4000 OS: Windows 8 Notebook: Macbook Pro 13" CPU: i5 2.4GHz RAM: 4 GB DDR3 1333MHz GPU: Intel HD Graphics 3000 384MB RAM HDD: 500GB 5400 rpm OS: Mac OS X Lion Tablet: iPad 2 64GB 3G Phone: HTC Desire S Phone: iPhone 8GB |
|
Registrovaný: 31.07.07 Prihlásený: 09.01.19 Príspevky: 327 Témy: 85 Bydlisko: Humenné |
walther píše: dva polia.... ah.. tie polia máš najskôr naplniť tými hodnotami, lebo inak to nemá zmysel. to napĺňanie rob v cykle, spracovanie textu už mimo cyklu. vieš si predstaviť, čo by to robilo keby si mal dlhokánsky text a v datábaze 10 000 údajov?
hej napísalo by mi 10 000 krát od včera večera sa s tým seriem a nijak raz nefunguje myslíš naplniť údaje takýmto spôsobom array($row["id"],$row["name"]); ? Ak áno tak ti môžem povedať, že som to skúšal a nefunguje to iba žeby som zase urobil niekde chybu.
Kód: $arr=array($row["id"],$row["name"]); $arra=array("<a href=info.php?id=$id>$name</a>"); } $str = str_replace($arr[1],"$arra[0]","$text"); echo $str;
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
kukni si čo ti napísal tommy
a potom:
Kód: $str = str_replace($arr,$arra,"$text");
_________________ C#, PHP, ... |
|
Registrovaný: 31.07.07 Prihlásený: 09.01.19 Príspevky: 327 Témy: 85 Bydlisko: Humenné |
Aj tak mi to nefunguje neviem, či som to urobil zlé no mám to takto:
Kód: $arr[$id]= "$id"; $arr[$name]= "$name";
Neviem, či som totálne blbý, alebo to mám dobre a aj tak to nefunguje // pridané po 20 hodinách 43 minútach od posledného príspevkuaspoň mi napište, či som to dobre napísal
|
|
Registrovaný: 31.07.07 Prihlásený: 09.01.19 Príspevky: 327 Témy: 85 Bydlisko: Humenné |
Ja sa s tým ešte doteraz seriem teraz som urobil taký kód ale aj tak to nefunguje
Kód: <?php $connect = mysql_connect("localhost","root","heslo"); $db = mysql_select_db("db");
$sql=mysql_query("SELECT id,meno FROM herci") or die(mysql_error()); while($row=mysql_fetch_array($sql)){ $id = $row["id"]; $name = $row["meno"]; $vyrazy = array($id => array($name)); }
$pole = array(); $sql=mysql_query("SELECT obsadenie FROM filmy WHERE id=1") or die(mysql_error()); $row=mysql_fetch_array($sql); $search = $row["obsadenie"];
foreach($vyrazy as $key => $item) { foreach($item as $value) { if(stripos($value,$search)!==false) { $pole[] = '<a href="info.php?id='.$key.'">'.$value.'</a><br>'; } } }
if(!empty($pole)) { echo '<p>Pocet vysledkov: '.count($pole).'</p>'; foreach($pole as $item) { echo $item; } } else { echo 'Neboli najdene ziadne zhody!'; } ?> // pridané po 17 hodinách 10 minútach od posledného príspevkuTrochu som sa pohol, ale nefunguje mi to stále ako chcem vypisalo všetko z tabuľky herci a pri tom hercovi, čo je v databaze mi dalo odkaz Kód: <?php $connect = mysql_connect("localhost","root","heslo"); $db = mysql_select_db("db");
$sql=mysql_query("SELECT id,meno FROM herci") or die(mysql_error()); $vyrazy = array(); while($row=mysql_fetch_array($sql)){ $vyrazy[$row["id"]] = $row["meno"]; } }
$pole = array(); $sql=mysql_query("SELECT obsadenie FROM filmy WHERE id=1") or die(mysql_error()); $row=mysql_fetch_array($sql); $search = $row["obsadenie"];
foreach($vyrazy as $key => $item) { if(stripos($item,$search)!==false) { $pole[] = '<a href="info.php?id='.$key.'">'.$item.'</a><br>'; } }
if(!empty($pole)) { echo '<p>Pocet vysledkov: '.count($pole).'</p>'; foreach($pole as $item) { echo $item; } } else { echo 'Neboli najdene ziadne zhody!'; } ?>
|
|
| Stránka: 1 z 1
| [ Príspevkov: 21 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|