Avatar billede kimlarsen Praktikant
15. april 2003 - 22:41 Der er 29 kommentarer og
1 løsning

Korrekt opsætning af database links

Hej allesammen

Jeg har en database, hvorfra jeg kan kalde forskellige data.

Men når jeg forsøger at sætte det op på en php side, går det fuldstændigt i fisk.

Det oprindelige datatræk så sådan her ud :

<?
/*
Kodet af: Jesper Sørensen
Denne stump kode viser nyheden som brugeren har valgt
*/
include("admin/config.php");
$query = mysql_query("SELECT * FROM nyheder WHERE id = $_GET[id]");
$row = mysql_fetch_array($query);
echo "<h1>$row[overskrift]</h1>";
$tekst = nl2br($row[tekst]);
echo "$tekst";
?>

Dertil har jeg tilføjet datafelterne : navn1, link1, navn2, link2, navn3, link3, navn4, link4, link5, link6

På siden http://www.rejsebeskrivelser.dk/udkast.php har jeg sat op, hvordan jeg gerne vil have felterne vist !

Jeg er parat til at give 2 x 200 points.

200 for en umiddelbar løsning, på mit reel opsætningsproblem og 200 til den, som kan give mig en idee om hvordan jeg fremover selv kan lave dette !

Altså en miniguide i hvordan sessions skal sættes op, for at virke korrekt !
Avatar billede ztyxx Nybegynder
15. april 2003 - 22:45 #1
der må max udloves 200 point pr spørgsmål...
sessions, se dette link
http://razor.dk/php.tutorials.sessions.php
Avatar billede kimlarsen Praktikant
15. april 2003 - 22:48 #2
ztyzz > Der er også tale om 2 spørgsmål ! - Men ok, den er måske lige på kanten !

Der kan iøvrigt ses andet materiale, som er omkring samme emne : http://www.eksperten.dk/spm/340199
Avatar billede the_wanderer Nybegynder
16. april 2003 - 01:24 #3
prøv at sætte $_GET[id] i '' så det ser sådan ud:

$query = mysql_query("SELECT * FROM nyheder WHERE id = '$_GET[id]'");
Avatar billede the_wanderer Nybegynder
16. april 2003 - 01:50 #4
ups.. bare glem det jeg lige skrev.. jeg går ud fra $GET[id] er et tal ik..?
Avatar billede avminarm Juniormester
16. april 2003 - 08:26 #5
prøv sådan her:
include("admin/config.php");
$query = mysql_query("SELECT * FROM nyheder WHERE id = '".$_GET[id]."'");
while($row = mysql_fetch_array($query)){
echo "<h1>".$row['overskrift']."</h1>";
$tekst = nl2br($row['tekst']);
echo $tekst;

Du skal huske at holde PHP og HTML hver for sig når du udskriver til skærm (echo)

vis lige din database struktur - for hvis du vil lave det med navn/links - kan du "bare" blande HTML ind i koden - når blot du huske at holde det hver for sig
Avatar billede avminarm Juniormester
16. april 2003 - 08:27 #6
unde alle omstændigheder vil det nok være en fordel at lave mere end en tabel - evt laven en tabel med relatere emner
Avatar billede repox Seniormester
16. april 2003 - 13:42 #7
Jeg ville mene (efter at have kigget på dit udkast) at det ville være at foretrække hvis du lavede en ny tabel til de referende links om det samme emne...
Altså, din nyhedstabel forbliver den samme, men samtidig med at du opretter en nyhed smider den nyheds id'et ind i din ny tabel du måske kaldte 'reflinks'... Hvis du så finder links der passer til det nye emne, så kan man smide dem ind der, for det andet du laver der bliver noget rod og ikke til at styre...

Men det er bare min mening...
Avatar billede repox Seniormester
16. april 2003 - 13:42 #8
måske skulle jeg liiige have læst avminarms indlæg før jeg skrev mit eget... :) my bad...
Avatar billede avminarm Juniormester
16. april 2003 - 13:43 #9
;o)
Avatar billede kimlarsen Praktikant
16. april 2003 - 21:41 #10
Beklager venner !

Jeg er måske nok dummere end jeg selv tror, men i første svar fra "avminarm" kan jeg ikke se at der kaldes databasefelterne navn1(til4) og Link1(til6).

Kan jeg gøre det, at jeg sætter :

include("admin/config.php");
$query = mysql_query("SELECT * FROM nyheder WHERE id = '".$_GET[id]."'");
while($row = mysql_fetch_array($query)){
echo "<h1>".$row['overskrift']."</h1>";
$tekst = nl2br($row['tekst']);
echo $tekst;

Ind først i et php dokument og så kalder de forskellige database trækninger ala det her : <font color="#FFFFFF">'.$headline.'</font>

Med hensyn til 1 kommentar fra "avminarm", mener du så her at jeg skal oprette yderligere en database i mySql ( Kaldes det for en tabel )?
Avatar billede kimlarsen Praktikant
16. april 2003 - 22:04 #11
Jeg har forsøgt mig lidt selv, men får følgende fejlmeddelse : Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/web/gb0240/build01/temaer/template2.php on line 60

Her det php dok, som jeg har forsøgt mig i :

<?php

/*
Kodet af: Jesper Sørensen
Denne stump kode viser nyheden som brugeren har valgt
*/
function newslink($overskrift, $tekst, $linkid, $navn1, $link1, $navn2, $link2, $navn3, $link3, $navn4, $link4, $link5, $link6) {
echo '
<html>

<head>
<TITLE>Rejsebeskrivelser.dk - Fra alverdens lande</TITLE>
<META NAME="Title" CONTENT="Rejsebeskrivelser.dk">
<META NAME="Description" CONTENT="Rejseportal med tons af rejsebeskrivelser og rejselinks. Fast tema-sektion og

nyheder fra rejseverden.>
">
<META NAME="Keywords" CONTENT="alanya, alletiders, ambassader, andorra, apollo, australien, berlin, borneo, busrejser,

campingpladser, campingvogne, cuba, cypern, el gouna, eurocar, flycamping, flyrejse, frekvenser, fuerteventura, gambia,

grækenland, hurghada, isla margarita, kano, lande, landekort, malaysia, mobilhomes, phuket, playa del carmen, radio

frekvenser, rejseankenævnet    , rejsebeskrivelser, rejsebøger, rejseforsikringer, rejsepartner, rejser usa, rejseselskaber    ,

routeplanner, ruteplan, ruteplanlægger, ruteplanlægning, snerapport, solbriller, sommerhuse, spanien, startour, stjerner, storby,

storbyrejser, tjaereborg, toldregler, tunesien, turist, tv frekvenser, tyrkiet, valutakurser, vandrehjem, yellovstone, ægypten   

">
<META NAME="Robots" CONTENT="ALL">
<META NAME="Revisit-after" CONTENT="7">
<META NAME="Author" CONTENT="Kim Larsen">
<LINK REV=made href="mailto:Webmaster@rejsebeskrivelser.dk">
<META HTTP-EQUIV="Reply-to" CONTENT="Webmaster@rejsebeskrivelser.dk">
<META NAME="Copyright" CONTENT="Kim Larsen, 2001. All rights reserved">
<META HTTP-EQUIV="Content-language" CONTENT="dan">
<META NAME="Rating" CONTENT="General">
<META NAME="ObjectType" CONTENT="Text">
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">

<META NAME="DC.Title" CONTENT="Rejsebeskrivelser.dk">
<META NAME="DC.Description" CONTENT="Rejseportal med tons af rejsebeskrivelser og rejselinks. Fast tema-sektion og

nyheder fra rejseverden.>
">
<META NAME="DC.Subject" CONTENT="alanya, alletiders, ambassader, andorra, apollo, australien, berlin, borneo, busrejser,

campingpladser, campingvogne, cuba, cypern, el gouna, eurocar, flycamping, flyrejse, frekvenser, fuerteventura, gambia,

grækenland, hurghada, isla margarita, kano, lande, landekort, malaysia, mobilhomes, phuket, playa del carmen, radio

frekvenser, rejseankenævnet    , rejsebeskrivelser, rejsebøger, rejseforsikringer, rejsepartner, rejser usa, rejseselskaber    ,

routeplanner, ruteplan, ruteplanlægger, ruteplanlægning, snerapport, solbriller, sommerhuse, spanien, startour, stjerner, storby,

storbyrejser, tjaereborg, toldregler, tunesien, turist, tv frekvenser, tyrkiet, valutakurser, vandrehjem, yellovstone, ægypten   

">
<META NAME="DC.Creator" CONTENT="Kim Larsen">
<META NAME="DC.Rights" CONTENT="Kim Larsen, 2001. All rights reserved">
<META NAME="DC.Identifier" CONTENT="http://www.Rejsebeskrivelser.dk">
<META NAME="DC.Date" SCHEME="ISO8601" CONTENT="2001-06-01">
<META NAME="DC.Language" scheme="NISOZ39.50" CONTENT="dan">
<META NAME="DC.Type" CONTENT="Text">
<META NAME="DC.Format" SCHEME="MIME" CONTENT="text/html">
<LINK href="http://www.rejsebeskrivelser.dk/build01/styles/styles.css"
type=text/css rel=stylesheet>
<STYLE type=text/css>TEXTAREA {
    SCROLLBAR-ARROW-COLOR: yellow; SCROLLBAR-BASE-COLOR: blue
}
</STYLE>

<META content="Microsoft FrontPage 4.0" name=GENERATOR>
<script language="JavaScript" src="build01/blockout.js"></script>
<script language="JavaScript" src="http://www.rejsebeskrivelser.dk/tell_friend.js"></script>
<script language="JavaScript">
<!--
    if (parent != self)
        ib( );
-->

</SCRIPT>
<base target="_top"><base target="_top"><script language="javascript">
<!-- hide

function newGo(box) {
if ((-1 < box.selectedIndex) && (box.options[box.selectedIndex].value.lastIndexOf('ap.org') != -1)) {
    document.forms[0].action = box.options[box.selectedIndex].value;
    document.forms[0].submit();
    return true;
    }
if ((-1 < box.selectedIndex) && (box.options[box.selectedIndex].value != 'nil')) {
    val = box.options[box.selectedIndex].value;
    if (val.lastIndexOf(',') != -1) {
        window.main ((val.substring(0,val.lastIndexOf(","))), (val.substring((val.lastIndexOf(",")+1) , val.length)));
    } else {
        window.open (val,'_top');
        }
    }
    return true;
}


// end hide -->
</script></head>

<body topmargin="0" leftmargin="0"><?

<p><center><?php
        include("http://www.rejsebeskrivelser.dk/build01/banners/mainbanner.php");
        ?>
<align="center" style="width: 744; height: 8">
<table border="0" width="800" cellspacing="0" cellpadding="0">
  <tr>
    <td width="100%">
      <table border="0" width="800" cellspacing="0" cellpadding="0" height="67" >
        <tr>
          <td width="130" bgcolor="#FFE796" valign="top" height="17"><?php
        include("http://www.rejsebeskrivelser.dk/build01/menuer/mainmenu.php");
        ?>
</td>
          <td width="7" valign="top" height="67" rowspan="4">&nbsp;</td>
          <td width="502" bgcolor="#FFE796" valign="top" rowspan="4">
            <table border="0" width="100%" cellpadding="0">
              <tr>
                <td width="100%" bgcolor="#25365C"><font color="#FFFFFF">'.$overskrift.'</font></td>
              </tr>
              <tr>
                <td width="100%">'.$tekst.'</td>
              </tr>
            </table>
        <p>
        <br>
          </center>
          </td>
          <td width="7" valign="top" height="67" rowspan="4">&nbsp;</td>
          <td width="140" bgcolor="#FFE796" valign="top" height="188" rowspan="4">
            <table border="0" width="100%" cellpadding="0">
              <tr>
                <td width="100%">
                  <table border="1" width="100%" bordercolordark="#FFE700">
                    <tr>
                      <td width="100%" bgcolor="#FFE700"><p><u><font color="#000080">Om
                        samme emne :</font></u></td>
                    </tr>
                    <tr>
                      <td width="100%" bgcolor="#FFE700">
                        <table border="0" width="100%" cellpadding="0">
                          <tr>
                            <td width="5%" valign="top">*</td>
                            <td width="95%" valign="top"><p><a href="'.$link1.'" target="_blank">'.$navn1.'</a></td>
                          </tr>
                          <tr>
                            <td width="5%" valign="top">*</td>
                            <td width="95%" valign="top"><p><a href="'.$link2.'" target="_blank">'.$navn2.'</a></td>
                          </tr>
                          <tr>
                            <td width="5%" valign="top">*</td>
                            <td width="95%" valign="top"><p><a href="'.$link3.'" target="_blank">'.$navn3.'</a></td>
                          </tr>
                          <tr>
                            <td width="5%" valign="top">*</td>
                            <td width="95%" valign="top"><p><a href="'.$link4.'" target="_blank">'.$navn4.'</a></td>
                          </tr>
                        </table>
                      </td>
                    </tr>
                  </table>
                </td>
              </tr>
              <tr>
                <td width="100%">
                  <hr>
                </td>
              </tr>
              <tr>
                <td width="100%"><img border="0" src="http://www.rejsebeskrivelser.dk/build01/images/nyestelinks.gif"

width="140" height="15">
</td>
              </tr>
              <tr>
                <td width="100%" valign="top"><?php
        include("http://www.rejsebeskrivelser.dk/cgi-bin/topx.cgi");
        ?>
</td>
              </tr>
              <tr>
                <td width="100%">
                  <hr>
                </td>
              </tr>
              <tr>
                <td width="100%">
              <p>'.$link5.'              </tr>
              <tr>
                <td width="100%">
              <hr>
              </tr>
              <tr>
                <td width="100%"><p>
              '.$link6.'
              </tr>
              <tr>
                <td width="100%">
              </tr>
              <tr>
                <td width="100%">
              </tr>
            </table>
          </td>
        </tr>
        <tr>
          <td width="130" bgcolor="#FFE796" valign="top" height="9">
            <br>
</td>
        </tr>
        <tr>
          <td width="130" bgcolor="#FFE796" valign="top" height="8" align="center">
</td>
        </tr>
        <tr>
          <td width="130" bgcolor="#FFE796" valign="top" height="33"></td>

</td>
        </tr>
      </table>
    </td>
  </tr>
</table>


include("admin/config.php");
$query = mysql_query("SELECT * FROM nyheder WHERE id = $_GET[id]");
$row = mysql_fetch_array($query);
$tekst = nl2br($row[tekst]);
?>









</body>

</html>

Hvad er det jeg gør galt ?
Avatar billede avminarm Juniormester
25. april 2003 - 15:25 #12
hej Kim - jeg havde glem tdi sorry!

Du skal ikke oprette en database mere men en tabel mere i din database

Hvad står der i linie 60
Avatar billede kimlarsen Praktikant
25. april 2003 - 22:59 #13
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/web/gb0240/build01/temaer/template2.php on line 60
Avatar billede kimlarsen Praktikant
25. april 2003 - 23:03 #14
Jeg har fundet ud af det med at oprette tabeller nu. Mit alt overskyggende problem er at få det som jeg trækker ud fra databasen præsenteret på mine php sider, som jeg nu gerne vil have !

http://www.rejsebeskrivelser.dk/build01/temaer/template.php kan I bl.a. se hvordan min template side er bygget op. Her ville jeg så gerne have placeret mine dataudtrækninger i midten.

Følgende programstump trækker dataerne ud, men hvordan jeg lige får det lavet om til mit design, er snart ved at give mig grå hår i hovedet !

<html>
<head>
<link type="text/css" rel="stylesheet" href="style.css">
</head>

<body>

<?
/*
Kodet af: Jesper Sørensen
Denne stump kode viser nyheden som brugeren har valgt
*/
include("admin/config.php");
$query = mysql_query("SELECT * FROM nyheder WHERE id = $_GET[id]");
$row = mysql_fetch_array($query);
echo "<h1>$row[overskrift]</h1>";
$tekst = nl2br($row[tekst]);
echo "$tekst";
?>

</body>
</html>
Avatar billede avminarm Juniormester
26. april 2003 - 22:08 #15
du sætter bare denne kodestump ind der hvor du vil have udtrækket - husk din fil skal hedde xxxx.php

<?
/*
Kodet af: Jesper Sørensen
Denne stump kode viser nyheden som brugeren har valgt
*/
include("admin/config.php");
$query = mysql_query("SELECT * FROM nyheder WHERE id = $_GET[id]");
$row = mysql_fetch_array($query);
echo "<h1>$row[overskrift]</h1>";
$tekst = nl2br($row[tekst]);
echo "$tekst";
?>
Avatar billede kimlarsen Praktikant
26. april 2003 - 23:15 #16
Det har jeg så prøvet !

<table border="0" width="100%" cellpadding="0">
              <?
/*
Kodet af: Jesper Sørensen
Denne stump kode viser nyheden som brugeren har valgt
*/
include("http://www.rejsebeskrivelser.dk/build01/databasesystemer/nyhedssystem/admin/config.php");
$query = mysql_query("SELECT * FROM nyheder WHERE id = $_GET[id]");
$row = mysql_fetch_array($query);
echo "<tr><td width="100%" bgcolor="#30415B">$row[overskrift]</td></tr>";
$tekst = nl2br($row[tekst]);
echo "<tr><td width="100%" bgcolor="#FFE796">$tekst</td></tr>";
?>           
</table>

Men får følgende fejlmeddelse :

Parse error: parse error, unexpected T_LNUMBER, expecting ',' or ';' in /home/web/gb0240/build01/databasesystemer/nyhedssystem/visnyhed.php on line 96
Avatar billede kimlarsen Praktikant
26. april 2003 - 23:16 #17
echo "<tr><td width="100%" bgcolor="#30415B">$row[overskrift]</td></tr>";

Skulle være line 96, hvis jeg tæller korrekt
Avatar billede avminarm Juniormester
28. april 2003 - 22:17 #18
det er fordi php ikke "forstår" dine "" prøv:

echo "<tr><td width=\"100%\" bgcolor=\"#30415B\">".$row['overskrift']."</td></tr>";

Grunden til at jeg har ændret $row[... er at jeg mener det er bedst at holde PHP og HTML for sig ;o)
Avatar billede kimlarsen Praktikant
29. april 2003 - 09:14 #19
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/web/gb0240/build01/databasesystemer/nyhedssystem/visnyhed.php on line 98

Mon ikke de derens \ er kommet forkert ind `?
Avatar billede avminarm Juniormester
29. april 2003 - 11:13 #20
nej de er rigtige nok ? men nu er fejlen jo i linie 98 - vis lige linie 98 -

hvis du sidder og tæller linierne kan jeg anbefale dig at gå in på www.tsw.dk og downloade hans editor - den er gratis og der er linie numre på
Avatar billede kimlarsen Praktikant
30. april 2003 - 08:34 #21
Genialt program - Rart at sidde og slippe for at tælle linier.
Fandt også selv fejlen - newbee fejl :-)

Men NU kokser det for alvor !

Hvis I kikker på : http://www.rejsebeskrivelser.dk/build01/databasesystemer/nyhedssystem/visnyhed.php?id=21

Så kommer der en del fejlmeddelser :

93 include("http://rejsebeskrivelser.dk/build01/databasesystemer/nyhedssystem/admin/config.php");
94 $query = mysql_query("SELECT * FROM nyheder WHERE id = $_GET[id]");
95 $row = mysql_fetch_array($query);
96 echo "<tr><td width=\"100%\" bgcolor=\"#30415B\">".$row['overskrift']."</td></tr>";
97 $tekst = nl2br($row[tekst]);
98 echo "<tr><td width=\"100%\" bgcolor=\"#FFE796\">".$tekst['tekst']."</td></tr>";
99 ?>       

Hvorfor kan den ikke trække dataerne fra mysql ?
Avatar billede avminarm Juniormester
30. april 2003 - 08:52 #22
prøv med:
95 while($row = mysql_fetch_array($query)){
96 echo "<tr><td width=\"100%\" bgcolor=\"#30415B\">".$row['overskrift']."</td></tr>";
97 $tekst = nl2br($row[tekst]);
98 echo "<tr><td width=\"100%\" bgcolor=\"#FFE796\">".$tekst['tekst']."</td></tr>";
99 }

Har du rette dine oplysninger der forbinder til databasen? (i config)
Avatar billede kimlarsen Praktikant
30. april 2003 - 10:18 #23
Efter den forslåede ændring får jeg stadigvæk :

http://www.rejsebeskrivelser.dk/build01/databasesystemer/nyhedssystem/visnyhed.php?id=22

I config står der følgende:

<?
// Adminoplysninger
$r_brugernavn = "admin"; // Det brugernavn du vil logge ind med
$r_kodeord = "jet04kl"; // Det kodeord du vil logge ind med
// Databaseoplysninger
$mysql_host = "sql01.starthotel.dk"; // Host
$mysql_brugernavn = "gb0240"; // Brugernavn
$mysql_kodeord = "*****"; // Kodeord
$mysql_database = "gb0240"; // Database
mysql_connect($mysql_host,$mysql_brugernavn,$mysql_kodeord);
mysql_select_db($mysql_database);
?>

Spørgsmål : Skulle linie 94 slettes i forhold til dit sidste svar ? - Har dog valgt ikke at gøre det !
Avatar billede kimlarsen Praktikant
30. april 2003 - 10:21 #24
I mit php dok er det nu rettet til :

93 include("http://rejsebeskrivelser.dk/build01/databasesystemer/nyhedssystem/admin/config.php");
94 $query = mysql_query("SELECT * FROM nyheder WHERE id = $_GET[id]");
95 while($row = mysql_fetch_array($query)){
96 echo "<tr><td width=\"100%\" bgcolor=\"#30415B\">".$row['overskrift']."</td></tr>";
97 $tekst = nl2br($row[tekst]);
98 echo "<tr><td width=\"100%\" bgcolor=\"#FFE796\">".$tekst['tekst']."</td></tr>";
99 }
100 ?>
Avatar billede avminarm Juniormester
30. april 2003 - 10:33 #25
Hej slet ikke med mindre jeg skriver det ;o)

prøv lige at ændre 94 $query = mysql_query("SELECT * FROM nyheder WHERE id = $_GET[id]");

til

94 $query = mysql_query("SELECT * FROM nyheder WHERE id = $_GET[id]") or die (mysql_error());
Avatar billede kimlarsen Praktikant
30. april 2003 - 13:20 #26
Får følgende fejlmeddelse :

Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /home/web/gb0240/build01/databasesystemer/nyhedssystem/visnyhed.php on line 94

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/web/gb0240/build01/databasesystemer/nyhedssystem/visnyhed.php on line 94
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Underligt !
Avatar billede avminarm Juniormester
30. april 2003 - 13:26 #27
Det er forbindelsen til SQL-serveren de er gal med - er du sikker på din host (hvem er det?) understøtter MySQL ??
Avatar billede kimlarsen Praktikant
30. april 2003 - 16:26 #28
web10.dk

Men burde der så ikke også være problemer med at lave udtrækkene til forsiden, hvor jeg uden problemer kan trække overskriften og en del af teksten ?
Avatar billede kimlarsen Praktikant
02. maj 2003 - 00:02 #29
Jeg har fundet løsningen af anden vej, men "avminarm" - du har ydet en flot hjælp som har inspireret mig på mange andre led, så du har fuldt fortjent dem !
Avatar billede avminarm Juniormester
02. maj 2003 - 09:03 #30
takker for points - hvordan løste du det?, man er vel lidt nysgerrig
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