Avatar billede nemlig Professor
12. februar 2008 - 22:46 Der er 9 kommentarer og
1 løsning

Hent indhold af linje 1 i mysql Text-felt

Hej alle.
Jeg har en MySql-felt af typen "text".
Jeg har brug for, at hente indholdet af øverste linje i dette felt.
Indholdet af textfeltet er kommet fra et input-felt, hvor der skiftes linje med Enter-tasten (Chr 13).
Avatar billede 13thsky Nybegynder
12. februar 2008 - 23:16 #1
$forsp1 = mysql_query("SELECT navnpåfelt FROM navnpaatabel LIMIT 0,1");
$forsp2 = mysql_fetch_row($forsp1);

echo $forsp2[0];
Avatar billede nemlig Professor
12. februar 2008 - 23:35 #2
Med inspiration fra dit forslag, anvender jeg denne kode:

$sql = "SELECT info_sted FROM tur WHERE id = '".$row['tur_nr']."' LIMIT 0,1";
$res = database($sql);
$row = mysql_fetch_row($res);

Echo $row[0];

Men den viser aller 3 linjer fra text-feltet.
Jeg ønsker kun at vise den øverste linje.
Avatar billede nwn Nybegynder
12. februar 2008 - 23:49 #3
Jeg ved ikke om der findes en bestemt funktion til det, ellers kan det måske lade sig gøre med noget replace og noget substr.

Men er det ikke nemmere, bare at oprette et ekstra felt, og så indsætte det øverste linie i det nye felt, og de 2 andre linier i det nuværende felt?

Hvis det hele så skal udskrives er det jo bare at udskrive 2 felter?
Avatar billede nemlig Professor
12. februar 2008 - 23:56 #4
Ekstra felt er selvfølgelig en mulighed, men jeg ville hellere det ene felt, hvis det er muligt.
Mon ikke der findes en funktion, hvor jeg henter alle ord indtil "linjeskiftet" og smider i et array og derefter sammensætter det igen. (Måske explode og implode). Jeg prøver på php-net.
Avatar billede kjeldsted Novice
13. februar 2008 - 00:02 #5
13thesky's løsning henter bare den første række i tabellen og ikke den første linie i feltet. Jeg er bestemt ikke sikker på at mit forslag vil virke. Men du kan prøve at rode lidt med det. Det er længe siden jeg selv lavede nedenstående script og dette skulle hente den første linie i en .txt fil. Jeg "snød" php ved at bede den om at indsætte "<!--" efter første linie så browseren tror det er en kommentar der ikke skal vises. Men min løsning en gang i sin tid var:

$file=str_replace("\n", "", $file);
//Henter filens første linie
$text=implode('<!--',file($file));
$text=str_replace("\n", "", $text);
//Fjerner første 8 tegn
$text=substr($text, 8);

Hvor $file, så skal udskiftes med indholdet af feltet fra databasen og $text er en variabel hvor browseren burde udskrive den sidste linie.

Husk dog at ovenståen script starter en kommentar (<!--) men ikke slutter den igen. Dette bør du sætte den til kort efter den har udskrevet den første linie vad at skrive "-->".

Desuden skal du måske også udskifte \n med <br> (el. <br />) hvis  dine linier i databasen er adskilt med netop <br>.

Håber det kunne hjælpe.
Avatar billede nemlig Professor
13. februar 2008 - 00:26 #6
Jeg fik det til at virke med dette:

$linje1 = explode("\n",$row['info_sted']);
echo $linje1[0];
Avatar billede nemlig Professor
14. februar 2008 - 22:55 #7
Der er tid til pointdeling. Send lige et svar, jer der ønsker point. Så fordeler jeg dem.
Avatar billede nemlig Professor
24. februar 2008 - 11:52 #8
Halloooo - kommer der lige nogle svar, så jeg kan få lukket.
Avatar billede nemlig Professor
21. april 2008 - 00:14 #9
Jeg vil så gerne give point - send venligst et svar.
Avatar billede nemlig Professor
23. juli 2008 - 21:47 #10
Så er der lukketid.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester