|
| 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 $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
| |
|
|