Autor | Zpráva | ||
---|---|---|---|
MiK Profil |
#1 · Zasláno: 7. 10. 2005, 10:37:38
jde mi o to že mám nějakou proměnou typu string a v ní libovolně dlouhý článek. A teď potřebuju že když se v tom objeví text např:
[gallery:moje:3] tak to vykresli 3 prvni obrazky z mysql databaze. neco jako: pokud mame [gallery:moje:3] tak $popis='moje' $max_limit = 3; $sql=mysql_query("SELECT * FROM galerie WHERE popis = '$popis' LIMIT 0 , $max_limit"); while ( $data = mysql_fetch_row($sql) ) { $path = data[0]; $alt = data[1]; <img src='$path' alt='$alt' /><br /> } díky za každou přínosnou radu :) |
||
Leo Profil |
#2 · Zasláno: 7. 10. 2005, 10:39:39
|
||
MiK Profil |
#3 · Zasláno: 7. 10. 2005, 10:53:57
1. v tom mém kodu je chyba. Má tam být:
... $path = data[0]; $alt = data[1]; echo "<img src='$path' alt='$alt' /><br />"; } ... 2. to jsem si myslel, ale s regulárnámy výrazy teď trochu bojuju: mám na mysli to že bych "možná dal" dohromady to že by se ten původní text nahradil textem. Ale vůbec nevím jak ho donutit aby ten předělaný text provedl a né ho jen vypsal |
||
MiK Profil |
#4 · Zasláno: 7. 10. 2005, 10:54:15 · Upravil/a: MiK
.
|
||
Leo Profil |
#5 · Zasláno: 7. 10. 2005, 11:19:35
"mám na mysli to že bych "možná dal" dohromady to že by se ten původní text nahradil textem"
A co jineho potrebujete? Zkuste hledat fci preg_replace_callback, Leo |
||
MiK Profil |
#6 · Zasláno: 7. 10. 2005, 11:27:32
nechci aby to znělo nějak drze...
...Ale vůbec nevím jak ho donutit aby ten předělaný text provedl a né ho jen vypsal. protože pokud jsem to pochopil tak existuje nějaká funkce která převede určitý string přes regulární výraz na jiný, ale jak ho donutit aby ten převedený text provedl, tak to už netuším. |
||
MiK Profil |
#7 · Zasláno: 7. 10. 2005, 11:28:07 · Upravil/a: MiK
.
|
||
Leo Profil |
#8 · Zasláno: 7. 10. 2005, 11:41:09
Vy potrebujete prevest TEXT
[gallery:moje:3] na TEXT (treba) <img src='foto.jpg'> <img src='jestejine.jpg'> <img src='ajestejedno.jpg'> Ne? Leo |
||
MiK Profil |
#9 · Zasláno: 7. 10. 2005, 11:49:33
jj.. presne tak... jenze je problem ze ta hodnota 3 v [gallery:moje:3] může být různá a podle ní se udává limit v dotazu na MySQL a ještě to určuje to kolik těch obrázků se má vypsat.
zkusím to popsat to co má PHP udělat co nejjednodušeji... 1. vypsat text z string proměnné až po [gallery: 2. načíst $popis (text mezi "dvojtečkama" v textu [gallery:moje:3] 3. načíst $limit (text mezi "dvojtečkou a ]" v textu [gallery:moje:3] 4. provést kod z použitím porměnných které v předcházejích dvou bodech načetl: $sql=mysql_query("SELECT * FROM galerie WHERE popis = '$popis' LIMIT 0 , $max_limit"); while ( $data = mysql_fetch_row($sql) ) { $path = data[0]; $alt = data[1]; <img src='$path' alt='$alt' /><br /> } 5. vypsat zbytek textu co je za [gallery:moje:3] |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0