/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Link til ukendt id (Newbie)
Fra : Allan Johansen


Dato : 29-03-02 15:39

Nej NG

Jeg har en database, hvorfra jeg udtrækker følgende:
overskrift,skribent,forord og så er det at mit spørgsmål går ud på hvordan
jeg opretter et dynamisk link til hele artiklen?

Jeg her følgende kildekode som jeg ikke kan få til at virke - Hvad er der
galt? :

$select = mysql_query("SELECT overskrift,skribent,forord FROM katteadfaerd")
or die (mysql_error());

while($row = mysql_fetch_array($select)) {


if($id) echo"<A HREF=\"phptest.php?id="($id)."\"</A>";><BR>";


print "<tr>\n";
print "<td height=41><B>$row[overskrift]<B></td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td height=21>Af$row[skribent]</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td height=21>$row[forord]</td>\n";
print "</tr>\n";

Echo "<a href=phptest.php?id=<?$id;?>>læs mere </a>";

}
?>


Håber min forklaring forståes.


Mvh. Allan Johansen





 
 
Christian Hansen (29-03-2002)
Kommentar
Fra : Christian Hansen


Dato : 29-03-02 16:56

Allan Johansen wrote:

>
> $select = mysql_query("SELECT overskrift,skribent,forord FROM katteadfaerd")
> or die (mysql_error());
>
> while($row = mysql_fetch_array($select)) {
>
>
> if($id) echo"<A HREF=\"phptest.php?id="($id)."\"</A>";><BR>";
>
>


Hvis $id er et felt i databasen, skal du skrive $row[id] og ikke bare
$id. Så bliver ovenstående linie i stedet:

if($row[id]) echo "<A HREF=\"phptest.php?id=".$row[id]."\">link</A><BR>";


Kig i øvrigt din kode genne for fejl. Ovenstående linie havde mere end 1
fejl.

MVH Christian


Christian Hansen (29-03-2002)
Kommentar
Fra : Christian Hansen


Dato : 29-03-02 17:00

Christian Hansen wrote:

> Allan Johansen wrote:
>
>>
>> $select = mysql_query("SELECT overskrift,skribent,forord FROM
>> katteadfaerd")
>> or die (mysql_error());
>>
>> while($row = mysql_fetch_array($select)) {
>>
>>
>> if($id) echo"<A HREF=\"phptest.php?id="($id)."\"</A>";><BR>";
>>
>>
>
>
> Hvis $id er et felt i databasen, skal du skrive $row[id] og ikke bare
> $id. Så bliver ovenstående linie i stedet:
>
> if($row[id]) echo "<A HREF=\"phptest.php?id=".$row[id]."\">link</A><BR>";
>
>
> Kig i øvrigt din kode genne for fejl. Ovenstående linie havde mere end 1
> fejl.
>
> MVH Christian
>


Du skal selvfølgelig også trække id ud af databaseforespørgslen, for at
det virker.


Hvis du id ikke kommer fra et felt i databasen, bør du lige fortælle,
hvor den så kommmer fra.

MVH Christian


Allan Johansen (30-03-2002)
Kommentar
Fra : Allan Johansen


Dato : 30-03-02 00:45


"Christian Hansen" <webmaster@telescopium.dk> wrote in message
news:3CA48F93.2080908@telescopium.dk...
> Christian Hansen wrote:
>
> if($row[id]) echo "<A HREF=\"phptest.php?id=".$row[id]."\">link</A><BR>";
>

Hej Christian

Mange tak for hjælpen, det var fedt nu fik jeg løst mit problem. Men jeg har
lige et spørgsmål mere om få lov?

Hvis man antager at en person uden HTML kendskab skal indtaste noget tekst i
en formular, som så herefter bliver sendt til en database, og personen gerne
vil have muligheden for at lave linieskift og afsnit i sin tekst, hvordan
laver man det?


Mvh. Allan Johansen



Christian Hansen (30-03-2002)
Kommentar
Fra : Christian Hansen


Dato : 30-03-02 08:53

Allan Johansen wrote:

> Hej Christian
>
> Mange tak for hjælpen, det var fedt nu fik jeg løst mit problem. Men jeg har
> lige et spørgsmål mere om få lov?


Sæføli


> Hvis man antager at en person uden HTML kendskab skal indtaste noget tekst i
> en formular, som så herefter bliver sendt til en database, og personen gerne
> vil have muligheden for at lave linieskift og afsnit i sin tekst, hvordan
> laver man det?
>


Du kan, når tekstinputtet modtages af php-scriptet erstatte alle
linieskift med <br>

altså:

$TEXT = ereg_replace("\n","<br>",$TEXT);

Hvis man skal kunne redigere i teksten, skal du sørge for at erstatte
alle "<br>" inden teksten igen læses ind i dit textarea.

MVH Christian


Kristian Risager Lar~ (30-03-2002)
Kommentar
Fra : Kristian Risager Lar~


Dato : 30-03-02 12:30

> $TEXT = ereg_replace("\n","<br>",$TEXT);

<?php $TEXT = nl2br($TEXT); ?>

Desuden er det smartere at bruge str_replace end ereg_replace hvis du ikke
har brug for regexp

--
Kristian Risager Larsen
http://www.kezze.dk - mailto:kezze@kezze.dk
"Artificial Intelligence usually beats natural stupidity."



Christian Hansen (30-03-2002)
Kommentar
Fra : Christian Hansen


Dato : 30-03-02 15:50

Kristian Risager Larsen wrote:

>>$TEXT = ereg_replace("\n","<br>",$TEXT);
>>
>
> <?php $TEXT = nl2br($TEXT); ?>
>
> Desuden er det smartere at bruge str_replace end ereg_replace hvis du ikke
> har brug for regexp



Det er ikke sådan, når man kommer fra perlverdenen

MVH Christian Hansen


Allan Johansen (30-03-2002)
Kommentar
Fra : Allan Johansen


Dato : 30-03-02 22:38

"Christian Hansen" <webmaster@telescopium.dk> wrote in message
news:3CA5D08C.6010505@telescopium.dk...
> Kristian Risager Larsen wrote:
>
> >>$TEXT = ereg_replace("\n","<br>",$TEXT);
> >>
> > <?php $TEXT = nl2br($TEXT); ?>
> >
> > Desuden er det smartere at bruge str_replace end ereg_replace hvis du
ikke
> > har brug for regexp


Tak for svaret, skønt jeg straks kunne se at jeg har stillet et spørgsmål
udover mine Newbie evner
Kunne I evt. forklare mig det på en anden måde eller komme med et eksempel
på hvor ovennævnte kode skal indsættes for at det virker?

Mit oprindelige spørgsmål gik ud på hvordan man i en formular kunne lave
linieskift og afsnit ved bare at bruge sin return-tast/enter-tast ?


Mvh. Allan Johansen



Andreas Kleist Svend~ (30-03-2002)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 30-03-02 22:59

Allan Johansen wrote:

> Tak for svaret, skønt jeg straks kunne se at jeg har stillet et spørgsmål
> udover mine Newbie evner
> Kunne I evt. forklare mig det på en anden måde eller komme med et eksempel
> på hvor ovennævnte kode skal indsættes for at det virker?
>
> Mit oprindelige spørgsmål gik ud på hvordan man i en formular kunne lave
> linieskift og afsnit ved bare at bruge sin return-tast/enter-tast ?

De kommer automatisk når man bruger <textarea>, der skal ikke gøres noget
specielt. Prøv eventuelt at printe dit input fra et <textarea> inde i
<pre></pre>, så vil du se at der er linieskift.

Funktionen nl2br() (http://dk.php.net/nl2br ) bruges til at omdanne "\n"
til "<br />\n", dvs. normale linieskift til HTML-linieskift _og_ normale
linieskift.

Jeg bør i øvrigt gøre opmærksom på at det kun er på *nix et linieskift er
"\n", i Windows er det, så vidt jeg husker "\r\n", og mac bruger vist "\r".
Men det er ikke noget man behøver tage sig af, nl2br sørger for at omdanne
alle tre typer til HTML-linieskift. Dvs. <br />.

--
mvh Andreas Kleist Svendsen

Allan Johansen (31-03-2002)
Kommentar
Fra : Allan Johansen


Dato : 31-03-02 01:49

"Andreas Kleist Svendsen" <usenetnospam@nau.dk> wrote in message
news:a85cfl$8f6$1@sunsite.dk...
>Andreas Kleist Svendsen wrote:
>
> Funktionen nl2br() (http://dk.php.net/nl2br ) bruges til at omdanne "\n"
> til "<br />\n", dvs. normale linieskift til HTML-linieskift _og_ normale
> linieskift.

Hej Andreas Kleist Svendsen, m.fl.

Mit problem er hvor og hvordan jeg skal sætte nl2br ind i min kode. Har
forsøgt på flere forskellige måder uden at få det til at virke.

$select = mysql_query("SELECT overskrift,skribent,artikel FROM katteadfaerd
WHERE id='$id'") or die (mysql_error());

while($row = mysql_fetch_array($select)) {

print "<tr>\n";
print "<td height=31><B>$row[overskrift]<B></td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td height=41>Af&nbsp;&nbsp;$row[skribent]</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td height=21>$row[artikel]</td>\n";
print "</tr>\n";
}
?>
</table>
</center>
</div>
</body>
</html>


Mvh. Allan Johansen (Newbie)




Andreas Kleist Svend~ (31-03-2002)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 31-03-02 13:08

Allan Johansen wrote:

> Mit problem er hvor og hvordan jeg skal sætte nl2br ind i min kode. Har
> forsøgt på flere forskellige måder uden at få det til at virke.

Det er den tekst du har fået fra brugeren, og derefter henter fra databasen
som skal igennem nl2br. Dvs. hvis feltet "artikel" i din tabel
"katteadfærd" er input fra brugeren, skrevet i et <textarea>-felt, skal
nedenstående linie ændres så $row[artikel] sendes gennem nl2br før det
printes.

Altså:

> print "<td height=21>$row[artikel]</td>\n";

Skal være

print "<td height=21>".nl2br($row[artikel])."</td>\n";

--
mvh Andreas Kleist Svendsen

Allan Johansen (31-03-2002)
Kommentar
Fra : Allan Johansen


Dato : 31-03-02 14:54

"Andreas Kleist Svendsen" <usenetnospam@nau.dk> wrote in message
news:a86u6j$gli$1@sunsite.dk...
> Andreas Kleist Svendsen wrote:

> Det er den tekst du har fået fra brugeren, og derefter henter fra
databasen
> som skal igennem nl2br. Dvs. hvis feltet "artikel" i din tabel
> "katteadfærd" er input fra brugeren, skrevet i et <textarea>-felt, skal
> nedenstående linie ændres så $row[artikel] sendes gennem nl2br før det
> printes. Altså:
>
> print "<td height=21>$row[artikel]</td>\n";
>
> Skal være
>
> print "<td height=21>".nl2br($row[artikel])."</td>\n";
>

Til Andreas Kleist Svendsen og andre som har ydet en indsats over for mine
problemstillinger.


Mange, mange tak for hjælpen, det var lige hvad jeg manglede for at komme
videre.


Mvh. Allan Johansen



Peter Brodersen (02-04-2002)
Kommentar
Fra : Peter Brodersen


Dato : 02-04-02 18:00

On Sat, 30 Mar 2002 15:49:48 +0100, Christian Hansen
<webmaster@telescopium.dk> wrote:

>Det er ikke sådan, når man kommer fra perlverdenen

Kommer man fra perlverdenen, vil man i øvrigt have umådeligt meget
glæde af preg-funktionerne fremfor ereg-funktionerne.


--
- Peter Brodersen

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste