Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Jak wyciągnąć z pola bazy tekst do określonego znaku
Forum PHP.pl > Forum > Przedszkole
maraska
Witam,

W polu bazy jest tekst z przecinkami:

"pierwszy tekst, drugi tekst,...."

Jakie zapytanie zadać, żeby w wyniku dostać tylko "pierwszy tekst"

Pozdrawiam
alpin
  1. $txt="pierwszy tekst, drugi tekst,...."
  2. $txt2=explode(",", $txt);
  3. echo "$txt2[0]";

Nie wiem, może tak ?
maraska
$txt="pierwszy tekst, drugi tekst,...."
$txt2=explode(",", $txt);
echo "$txt2[0]";

Można by tego na początek spróbować, tylko pojawił się kolejny problem.

while($c = mysql_fetch_array($sql)) {

$txt = $c['txt']; ........
echo $txt;

wypluwa całe teksty z pola... tylko, że bez przecinków sad.gif

Czemu?
(oczywiście sprawdziłem - w bazie jest tekst z przecinkami)
nospor
Jedno slowo: niemozliwe.
Cos krecisz albo namotales i nawet sobie sprawy z tego nie zdajesz. Sprawdz dokladnie jeszcze raz
maraska
Ano niemożliwe.

Problemem jest zapis z formularza do bazy danych.
Gdy wpisywane ciągiem z przecinkami - wszystko ok
Gdy w formularzu wpisywane w nowej linii, w bazie z enterów tworzą się przecinki ale dla selecta są już niewidzialne.
Nie wiem jak to było zrobione. Może ktoś mądry wie jak sczytać teraz "takie" przecinki z bazy?


Ps.

A to poniżej faktycznie jest rozwiązaniem problemu z wątku. Działa jak trzeba, tzn wyświetla teksty do od lewej do pierwszego przecinka.

$txt="pierwszy tekst, drugi tekst,...."
$txt2=explode(",", $txt);
echo "$txt2[0]";
nospor
Cytat
Gdy w formularzu wpisywane w nowej linii, w bazie z enterów tworzą się przecinki ale dla selecta są już niewidzialne.
Nadal niemozliwe. Skoro select nie widzi przecnikow znaczy ze ich nie ma.... pewnie twoj program do bazy poprostu sam z siebie zamienia entery na przecinki przez co wydaje ci sie, ze tam sa przecinki. Zwroc uwage na zwrot "wydaje ci sie"
maraska
No, pisałem właśnie że entery zamienia na przecinki.

Może mi się tylko wydaje, że są przecinki ale jak wchodzę do bazy phpmyadminem, zaznaczam tekst w polu w którym widzę przecinki, potem CtrlC i CTRLV do Notepada i jest tekst z przecinkami, to chyba mi się nie wydaje smile.gif

Jednak select tego samego pola tego samego rekordu i echo - przecinków ni ma sad.gif
nospor
No toc ci tlumacze : twoj program do bazy czyli PMA zamienia sobie dla zabawy entery na przecinki podczas wyswietlania danych.
Zrozum, tych przecinkow w bazie nie ma. W bazie sa entery. Rozumiesz?
maraska
Ponieważ ten wątek jest już teraz pierwszy w G na zapytanie "php zmienić entery na przecinki" pewnie warto, żeby zainteresowani znaleźli właśnie tutaj odpowiedź.

Zatem nie zaczynam nowego wątku i jak zmienić entery na przecinki?

a bardziej szczegółowo:

1. czy zmienić w bazie i jak? (lepiej nie)
2. czy zostawić w bazie i zamieniać w trakcie zapytania?

Problem zainteresuje każdego, kto dodaje do bazy z formularza a potem wyciąga te dane do php. Entery z formularza mają swoje znaczenie, ale w niektórych aplikacjach strasznie przeszkadzają i powinny zostać zamienione np. na przecinki.

Przykład zastosowania:

while($pobierz = mysql_fetch_array($qry)) {
$opis = mysql_fetch_array($pobierz['opis]);
.
.
.
<meta name="Description" content="<?php echo $opis; ?>......

i jak w $opis są Entery, to jest niefajnie.
nospor
Cytat
i jak w $opis są Entery, to jest niefajnie.

Rety..... to zamien je na przecinki...
str_replace()
maraska
A próbowałem i widocznie nie umiem
nospor
No to moze pokaz jak to zamieniasz..... toc wrozka nie jestem
maraska
$opis = preg_replace("/\r\n|\r|\n/",',',$opis');
nospor
Mialo byc str_replace. Uzyj tablicy do podania kilku wartosci
maraska
A może podasz Twoje rozwiązanie
nospor
Przeciez napisalem.....
Cytat
Mialo byc str_replace. Uzyj tablicy do podania kilku wartosci
Nic dodac nic ujac
maraska
"Uzyj tablicy do podania kilku wartosci"

Bez złośliwości. Naprawdę myślisz że w przedszkolu komukolwiek taki wpis pomoże?
Rozszerzasz wątek? Super sprawa.
Jednak jak chcesz pomóc i mi i następnym, wklej proszę kawałek kodu. Bez zagadek.
Pozdrawiam serdecznie.
nospor
Tu naprawde nie bylo zadnej zagadki. Napisalem ci co masz zrobic. Jakbys nie byl takim leniem tylko zajrzal do manuala
http://pl1.php.net/manual/en/function.str-replace.php
to bys zobaczyl jak nalezy uzyc tablciy by podac kilka wartosci ktore chcesz zamienic \n \r \r\n
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.