Avatar billede mjl Nybegynder
11. januar 2003 - 11:13 Der er 24 kommentarer og
1 løsning

Medtage mellemrum fra Database...

Hej der...

Jeg har lige et problem...

Når jeg henter et navn fra en MySQL database, og der i navnet er mellemrum, altså mellem fornavn og efternavn, henter den kun fornavnet, altså kun hen til første mellemrum...

Hvordan får jeg den til at hente hele navnet???

Lidt kode:

<?
if ($d != hestesko) {
$hent_listen = mysql_query("SELECT * FROM table GROUP BY 'navn'");
while ($hentet_liste = mysql_fetch_array($hent_listen)){
$bent = $hentet_liste["navn"];
echo "<a href=dokumentet.php?navnet='".$bent."'>".$hentet_liste["navn"]."</a>";
echo "<br>";
}
}
?>
Avatar billede mjl Nybegynder
11. januar 2003 - 11:13 #1
Feltet er "VARCHAR" "255"
Avatar billede scoty Nybegynder
11. januar 2003 - 11:16 #2
Prøv med $bent = "$hentet_liste["navn"]";
Virkede med en Oracle database for mig.
Avatar billede nicklasb Nybegynder
11. januar 2003 - 11:18 #3
Ved ikke om det kan  være fordi den deler det når du sætter den ind i en anden variabel??

Prøv med; $bent = "$hentet_liste["navn"]";

Har du prøvet at lave en echo på $hentet_liste["navn"]..
Altså bare en echo "$hentet_liste["navn"]"; under den anden..
Avatar billede nicklasb Nybegynder
11. januar 2003 - 11:18 #4
hov.. der var jeg lidt for sent på den.. ;)
Avatar billede mjl Nybegynder
11. januar 2003 - 11:19 #5
Den echo'er fint nok, når den ikke er med i linket...
Avatar billede mjl Nybegynder
11. januar 2003 - 11:20 #6
Altså den del der er mellem <a og </a>
Avatar billede sesam Nybegynder
11. januar 2003 - 11:26 #7
echo "<a href="dokumentet.php?navnet='".$bent."'">".$hentet_liste["navn"]."</a>";
Avatar billede mjl Nybegynder
11. januar 2003 - 11:31 #8
Nop...det må være noget andet..!!! :o(
Avatar billede sesam Nybegynder
11. januar 2003 - 11:32 #9
Har du prøvet mit forslag?
Hvad skrev den ud?
Avatar billede mjl Nybegynder
11. januar 2003 - 11:34 #10
Parse error.....har prøvet den i flere versioner. Jeg tror det er noget med felt-typen....
Avatar billede mjl Nybegynder
11. januar 2003 - 11:35 #11
Bare mærkeligt, at den skriver det rigtigt uden for <a href=> Her </a>
Avatar billede sesam Nybegynder
11. januar 2003 - 11:35 #12
$hent_listen = mysql_query("SELECT navn,efternavn FROM table GROUP BY 'navn'");
Avatar billede sesam Nybegynder
11. januar 2003 - 11:36 #13
echo "<a href="dokumentet.php?navnet='".$bent."'">$hentet_liste"navn"]</a>";
Avatar billede sesam Nybegynder
11. januar 2003 - 11:37 #14
echo "<a href="dokumentet.php?navnet='".$bent."'">$hentet_liste["navn"]</a>";
Avatar billede nicklasb Nybegynder
11. januar 2003 - 11:42 #15
du kunne jo prøve med;

echo "<a href=dokumentet.php?navnet=";
echo "$bent";
echo ">";
echo "$hentet_liste["navn"]";
echo "</a>";

og se om den printer det rigtigt sådan..

og så evt samle den så der står:

$bent = $hentet_liste["navn"];
echo "<a href=dokumentet.php?navnet=\"$bent\">$bent</a>";
Avatar billede tipsen Nybegynder
11. januar 2003 - 12:47 #16
Prøv med følgende, hvor navnet også urlencodes, så man sikrer, at det bliver et lovligt link der fungerer i alle browsere. Desuden er sql-sætningen rettet og burde give samme output bare hurtigere.

if ($d != 'hestesko') {
  $hent_listen = mysql_query('SELECT DISTINCT navn FROM table');
  while (list($navn) = mysql_fetch_row($hent_listen)){
    $urlnavn = urlencode($navn);
    echo '<a href="dokumentet.php?navnet='.$urlnavn.'">'.$navn.'</a>';
    echo '<br>';
  }
}
Avatar billede mjl Nybegynder
11. januar 2003 - 12:53 #17
tipsen> ser godt ud, der er bare 'et problem; resultatet giver + i stedet for mellemrum...

navnet=Kurt Hansen bliver til navnet=Kurt+Hansen
Avatar billede mjl Nybegynder
11. januar 2003 - 12:56 #18
Jeg bruger jo efterfølgende $navnet - og den skal finde det navn i databasen ud fra $navnet. Hvis $navnet er lig med Kurt+Hansen, er den jo ikke magen til Kurt Hansen
Avatar billede tipsen Nybegynder
11. januar 2003 - 12:59 #19
Ja - et mellemrum i url'en er ikke tilladt - så det er helt korrekt!

Når du så skal lave navnet om til noget der skal bruges i dit php-script, skriver du:

$korrektformateretnavn = urldecode($_GET['navnet']);

Så skulle den ged vist være barberet!

http://dk.php.net/manual/en/function.urlencode.php
http://dk.php.net/manual/en/function.urldecode.php

Du kan evt. også bruge:

http://dk.php.net/manual/en/function.rawurlencode.php
http://dk.php.net/manual/en/function.rawurldecode.php
Avatar billede mjl Nybegynder
11. januar 2003 - 12:59 #20
tipsen> Jeg har nu trukket hovedet ud af røven, og det du lavede var perfekt - sorry....poits er dine!!! 1000 tak!!!
Avatar billede nicklasb Nybegynder
11. januar 2003 - 13:00 #21
du kan heller ikke lave link med mellemrum i.. enten skal du lave det om til %20 eller lave + om til mellemrum på den næste side..
Avatar billede mjl Nybegynder
11. januar 2003 - 13:00 #22
Jeg havde glemt at ændre dokument.php tilbage til det rigtige navn :o) he he
Avatar billede tipsen Nybegynder
11. januar 2003 - 13:00 #23
Disse funktioner bør man altid bruge, når man skal sende data med url'en, hvor man kan risikere, at der er "ulovlige" tegn - det er ikke alle browsere der gør arbejdet med at konvertere for én.
Avatar billede nicklasb Nybegynder
11. januar 2003 - 13:01 #24
sorry.. er fanme langsom i dag.. hehe.. ;)
Avatar billede mjl Nybegynder
11. januar 2003 - 13:01 #25
Godt at man lærer noget nyt hver dag herinde - tak igen til alle!!!
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