Aktywne Wpisy

ZnienawidziszMnie +171
Pare dni temu u znajoma z pracy zatrudniła elektryka do przesunięcia gniazdka o meter w lewo, oczywiscie ceny nie ustalili przed tylko w trakcie pracy i jak się dowiedziała że chlop chce 300zł to zaczęła sie termedyja za co itp. Chlop jej rozpisał 50zł zlokalizowanie przewodu dzieki czemu unikneli kucia metrowego rowka, 50zł wykucie otworu + montaż puszki i zaklejenie starej puszki,100zł przedłużanie i łączenie przewodów, 50zł materiał i 50zł dojazd (20km)
wjkp +77
Mirki, czy ja jestem #!$%@? czy ktoś mnie chce po prostu w #!$%@? zrobić? Kupiłem w zeszłym tygodniu kawę na allegro bo była 4zl tańsza niż w Lidlu.
KAWA MIELONA LAVAZZA QUALITA ORO 250G.
Okazało się że kawa jest tragicznej jakości, nie ma smaku, i sam wygląd kawy odbiega od oryginału - jest pełno grudek a także kolor jest inny. Podczas zaparzania bardziej przypomina wodę a nie kawę. Kupuję tą kawę od
KAWA MIELONA LAVAZZA QUALITA ORO 250G.
Okazało się że kawa jest tragicznej jakości, nie ma smaku, i sam wygląd kawy odbiega od oryginału - jest pełno grudek a także kolor jest inny. Podczas zaparzania bardziej przypomina wodę a nie kawę. Kupuję tą kawę od





Mam kłopot z kodem :-/ i proszę o pomoc :-)
`php<br/
$wklej[1] = 'Zammiennik pierwszy';
$wklej[2] = 'Zammiennik drugi';
$wklej[3] = 'Zammiennik trzeci';
$string = 'Lorem ipsum dolor sit amet, [wklej=1] consetetur sadipscing elitr, sed diam nonumy eirmod [wklej=2] tempor invidunt ut labore et dolore [wklej=3] magna aliquyam erat, sed diam voluptua.';
$tablica = preg_match_all("#[wklej=\d\]#si", $string, $matches);
for($i=0; $i
{
$string = str_replace($matches[0][$i], $wklej[$i], $string);
}
echo $string;
?>`
Jak widzicie w kodzie na samym początku definiuje wartości jakie mają być pokazane zamiast [wklej=ID] problem jest taki ,że ja nie wiem czy ktoś wstawi ID=1,5 czy 250 więc bez sensu pobierać całą zawartość bazy. Wsadzanie zapytania do pętli też za bardzo zawali bazę. Więc nie wiem jak na początku pobrać z bazy tylko te Rekordy które są użyte w tekście czyli przykładowo mam bazę:
ID | Nazwa
1 | Tekst1
2 | Tekst 2
3 | Tekst 3
4 | Tekst 4
I teraz ktoś w tekście pisze: xxxxx [wklej=4] xxxxxxxxxx [wklej=2] xxxxxxxxxx Więc to jest zamieniane zgodnie z danymi z bazy na: xxxxx Tekst 4 xxxxxxxxxx Tekst 2 xxxxxxxxxx
I tego nie wiem jak rozwiązać :-/
SELECT (id, nazwa) FROM tb WHERE id IN (tablica)i robisz replace wynikami selecta.
$wklej[1] = 'Zammiennik pierwszy';
$wklej[2] = 'Zammiennik drugi';
$wklej[3] = 'Zammiennik trzeci';
Ten fragment jest dla ułatwienia i sprawdzenia czy kod działa. Ciekawe rozwiązanie co prezentujesz, tylko jak zrobić końcówkę czyli replace z wynikami ? Tak tak tekst jest stały z bazy i podczas wyświetlania go chcę go zmienić.
str_replace()- w parametrach może przyjmować tablice do zamiany czyli w pierwszym parametrze będzie tablica 'wklej=N', 'wklej=M', a w drugim parametrze lista wartości odczytana z tabeli selectem.
Zgubiłem się :-/
php<br/
include_once("../db.inc.php");
echo'Test
====
';
$txt = 'Lorem ipsum dolor sit amet, [foto id="97" size="small"] consetetur sadipscing elitr, sed diam nonumy eirmod tempor [foto id="143" size="big"] invidunt ut labore et dolore magna [foto id="139" size="big"] aliquyam erat, sed diam voluptua.';
echo $txt.'
----
';
$tablica = preg_match_all('#[foto id="(.?)" size="(.?)"]#si', $txt, $matches);
echo '
```';echo print_r($matches[1]);echo '```
';
$res = @mysql_query('SELECT id, img FROM foto WHERE id
Komentarz usunięty przez moderatora
Komentarz usunięty przez moderatora
mysql_fetch_assoczwraca Ci jeden row, a nie tablicę wszystkich, więc powinieneś przenieść go do pętli. Poza tym - rozumiem, że używasz matches jako primary key tabeli. Zapytanie Ci się pieprzy - stringi muszą być w uszach (' ') i w nawiasie.
$res = @mysql_query('SELECT id, img FROM foto WHERE id IN '.$matches[1]);
$row = @mysql_fetch_array($res);
echo print_r($row);
Bo wyskakuje błąd: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array' at line 11 Czyli nie mogę sobie ot tak wrzucić $matches[1] do zapytania, to jak to zrobić ?
Musisz przekształcić tę tablicę $matches[1] w string, dodając do każdego apostrof na początku i na końcu i robiąc implode przecinkiem, a całość musi być w nawiasie.
$commaseparated = implode(",", $array);
echo $commaseparated;
$res = @mysql_query('SELECT id, img FROM foto WHERE id IN ('.$comma_separated.')');
$row = @mysql_fetch_array($res);
echo mysql_error();
echo '
';
echo printr($row);
echo '
';`$commaseparated ma wartość : '97', '143', '139'
O dziwo w wyniku daje :
Array
(
[0] => 97
[id] => 97
[1] => 46199669851267a5d2b63.jpg
[img] => 46199669851267a5d2b63.jpg
)
1
$txt = 'Lorem ipsum dolor sit amet, [foto id="97" size="small"] consetetur sadipscing elitr, sed diam nonumy eirmod tempor [foto id="143" size="big"] invidunt ut labore et dolore magna [foto id="139" size="big"] aliquyam erat, sed diam voluptua.';
$tablica = preg_match_all('#[foto id="(.*?)" size="(.*?)"\]#si', $txt, $matches);
$comma_separated = implode(",", $matches[1]);
$res = @mysql_query('SELECT id, img FROM foto WHERE id IN ('.$comma_separated.') ORDER BY FIELD(
id
, '.$comma_separated.') ASC;');
$i=0;
while( $row =