Avatar billede th1 Nybegynder
17. februar 2005 - 01:55 Der er 19 kommentarer og
1 løsning

kan i finde fejlen

Hejsa jeg har lavet script som ser sådan ud:

<?php

if(!$_GET["action"])
{

include "mysql.php";

$conn = mysql_query("SELECT * FROM kategori ORDER BY id DESC") or die (mysql_error());

while ($rs = mysql_fetch_array($conn)){

?>

<a href="kat.php?action=kategori&kat=<?=$rs["kategori"];?>"><?=$rs["kategori"];?></a><br><br>

<?
}

} elseif ($_GET["action"] == "kategori")
{

include("mysql.php");

    $conn = mysql_query("SELECT * FROM sang WHERE kategori = '$_GET[kat]'");
    while ($rs = mysql_fetch_array($conn))
    {
?>

<a href="kat.php?action=kategori&kat=<?=$_GET["kategori"];?>&sang=<?=$rs[sangn];?>"><?=$rs["sangn"];?></a><br><br>

<?php

}

} elseif ($_GET["action"] == "sang")
{

include("mysql.php");

    $conn = mysql_query("SELECT * FROM sang WHERE sangn = '$_GET[sangn]'");
    while ($rs = mysql_fetch_array($conn))
    {

?>

<table cellpadding="0" cellspacing="0" border="0" width="450" style="FONT-SIZE: 8pt" align="center">
<tr>
<td valign="top">
<div align="left"><?
echo $rs[kunster]
?></div>
<br>
<div align="center"><? echo $rs[sangn] ?></div>
<br>
<? echo nl2br("$rs[sang]");?>
</td></tr></table>

<?php

}
}

?>

scriptet virker helt fint indtil den skal til at udskrive selve sangen :(  altså den del af scriptet ser ikke ud til at virke:


} elseif ($_GET["action"] == "sang")
{

include("mysql.php");

    $conn = mysql_query("SELECT * FROM sang WHERE sangn = '$_GET[sangn]'");
    while ($rs = mysql_fetch_array($conn))
    {

?>

<table cellpadding="0" cellspacing="0" border="0" width="450" style="FONT-SIZE: 8pt" align="center">
<tr>
<td valign="top">
<div align="left"><?
echo $rs[kunster]
?></div>
<br>
<div align="center"><? echo $rs[sangn] ?></div>
<br>
<? echo nl2br("$rs[sang]");?>
</td></tr></table>


nogen der kan se hva der er galt?

tak på forhånd

m.v.h. th1
Avatar billede knocker Nybegynder
17. februar 2005 - 02:44 #1
include("mysql.php");

    $conn = mysql_query("SELECT * FROM sang WHERE sangn = '$_GET[sang]'");
    while ($rs = mysql_fetch_array($conn))
    {

Prøvet med det? Du angiver i dit link "sang=..." og ikke "sangn", som du gør i din sql query. :)
Avatar billede coderdk Praktikant
17. februar 2005 - 03:10 #2
echo $rs[kunster]

skal vel være:

echo $rs['kunster'];

Altså manglende ; - Men du bør også bruge ' om dine felter ;)
Avatar billede coderdk Praktikant
17. februar 2005 - 03:11 #3
Nej ok, det vil naturligvis virke uden ; - Jeg tror bare jeg går i seng :)
Avatar billede hmortensen Nybegynder
17. februar 2005 - 03:15 #4
Og i linket skal action vel også være sang og ikke kategori, da den ellers aldrig vil komme ind i if delen.
Avatar billede knocker Nybegynder
17. februar 2005 - 05:11 #5
Renskrevet kode, den burde meget gerne virke. :)

<?php
include("mysql.php");

if (!isset($_GET['action'])) {
    $conn = mysql_query("SELECT * FROM kategori ORDER BY id DESC") or die (mysql_error());
    while ($rs = mysql_fetch_array($conn)) {
        print('<a href="kat.php?action=kategori&kat='.$rs['kategori'].'">'.$rs['kategori'].'></a><br><br>\n');
    }
} elseif ($_GET['action'] == "kategori") {
    $conn = mysql_query("SELECT * FROM sang WHERE kategori = '$_GET[kat]'");
    while ($rs = mysql_fetch_array($conn)) {
        print('<a href="kat.php?action=sang&sang='.$rs['sangn'].'">'.$rs['sangn']'.</a><br><br>\n');
    }
} elseif ($_GET['action'] == "sang") {
    $conn = mysql_query("SELECT * FROM sang WHERE sangn = '$_GET[sang]'");
    while ($rs = mysql_fetch_array($conn)) {
        print('<table cellpadding="0" cellspacing="0" border="0" width="450" style="FONT-SIZE: 8pt" align="center">
  <tr>
    <td valign="top">
    <div align="left">'.$rs['kunster'].'</div><br><div align="center">'.$rs['sangn'].'</div><br>
    '.nl2br($rs['sang']).'
    </td>
  </tr>
</table>');
    }
}

?>
Avatar billede knocker Nybegynder
17. februar 2005 - 05:13 #6
Jeg undrer mig dog over, at du bruger sangn som defination af hvilken sang der skal hentes, men også bruger den når sangen skal udskrives. Jeg håber da ikke at du bruger en hel tekst, som skal passe med det som står i din db. :o
Avatar billede hmortensen Nybegynder
17. februar 2005 - 05:15 #7
Som jeg kan se det, bruger han sangn (sang nr) til at finde sangen, og udskriver sangen fra feltet 'sang'
Avatar billede jakoba Nybegynder
17. februar 2005 - 08:55 #8
ku det være 'kunster' er 'kunstner' (n efter t-et)
Avatar billede th1 Nybegynder
17. februar 2005 - 10:14 #9
hej alle samen  "knocker" jeg har prøvet at angive linket til sangn men uden held jeg har også prøvet at køre dit script igennem men der går det galt samme sted:(

"coderdk"  det har du ret i det er lige meget:)

"hmortensen" det burde være lige meget fordi mit link virker her til : <a href="kat.php?action=kategori&kat=  hvor der er går så galt når jeg skal hente selve sangen :(

"jakoba"  nej det er ikke det jeg bare skrevet det kunster i min mysql tabel ;)

nogen der har andre bud? ;P

alle jer der har skrevet tak for jeres tid indtil videre
Avatar billede knocker Nybegynder
17. februar 2005 - 17:09 #10
Prøv at vis din mysql table
Avatar billede th1 Nybegynder
17. februar 2005 - 17:26 #11
jeg har to tabeller 

tabellen kategoti:

CREATE TABLE `kategori` (
  `id` int(11) NOT NULL auto_increment,
  `kategori` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=21 ;


og tabellen sang:

CREATE TABLE `sang` (
  `id` int(11) NOT NULL auto_increment,
  `kategori` varchar(50) NOT NULL default '',
  `kunster` varchar(255) NOT NULL default '',
  `sangn` varchar(255) NOT NULL default '',
  `sang` text NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=104 ;
Avatar billede knocker Nybegynder
17. februar 2005 - 18:34 #12
Smid lige et par insert linier ind også, så prøver jeg en gang :)
Avatar billede th1 Nybegynder
17. februar 2005 - 18:53 #13
mysql_query("INSERT INTO sang (kategori, kunster, sangn, sang)

VALUES ('".$_POST['kategori']."', '".$_POST['kunster']."', '".$_POST['sangn']."', '".$_POST['sang']."');") or die(mysql_error());
Avatar billede knocker Nybegynder
17. februar 2005 - 19:10 #14
Ah, jeg mente nu fra din mysql db. Du ved, når du eksportere .. Mere så jeg har noget liggende, så jeg kan prøve mig frem.
Avatar billede th1 Nybegynder
17. februar 2005 - 19:18 #15
snakker du om data dumb fra tabellen sang??
Avatar billede knocker Nybegynder
17. februar 2005 - 20:01 #16
Yes sir, og kategori :)
Avatar billede th1 Nybegynder
17. februar 2005 - 20:08 #17
#
# Data dump for tabellen `sang`
#


INSERT INTO `sang` VALUES (25, 'Rammstein', 'Rammstein', 'Heirate Mich', 'Mann sieht ihn um die Kirche schleichen\r\nseit einem Jahr ist er allein\r\nDie Trauer nahm ihm alle Sinne\r\nschlaft jede Nacht bei ihrem Stein \r\n\r\nDort bei den Glocken schlaft ein Stein\r\nund ich alleine kann ihn lesen\r\nund auf dem Zaun der rote Hahn\r\nist seiner Zeit dein Herz gewesen \r\n\r\nDie Furcht auf diesen Zaun gespiesst\r\ngeh ich nun graben jede Nacht\r\nzu sehen was noch ubrig ist\r\nvon dem Gesicht das mir gelacht \r\n\r\nDort bei den Glocken verbring ich die Nacht\r\ndort zwischen Schnecken ein einsames Tier\r\ntagsuber lauf ich der Nacht hinterher\r\nzum zweitenmal entkommst du mir \r\n\r\nHeirate mich \r\n\r\nMit meinen Handen grab ich tief\r\nzu finden was ich so vermisst\r\nund als der Mond im schonsten Kleid\r\nhab deinen kalten Mund gekusst \r\n\r\nIch nehm dich zartlich in den Arm\r\ndoch deine Haut reisst wie Papier\r\nund Teile fallen von dir ab\r\nzum zweitenmal entkommst du mir \r\n\r\nHeirate mich \r\n\r\nSo nehm ich was noch ubrig ist\r\ndie Nacht ist heiss und wir sind nackt\r\nzum Fluch der Hahn den Morgen grusst\r\nich hab den Kopf ihm abgehackt');




#
# Data dump for tabellen `kategori`
#


INSERT INTO `kategori` VALUES (20, 'Rammstein');
Avatar billede knocker Nybegynder
17. februar 2005 - 20:13 #18
Har lige testet, og dette virker uden problemer.

<?php
include("mysql.php");

if (!isset($_GET['action'])) {
    $conn = mysql_query("SELECT * FROM kategori ORDER BY id DESC") or die (mysql_error());
    while ($rs = mysql_fetch_array($conn)) {
        print('<a href="?action=kategori&kat='.$rs['kategori'].'">'.$rs['kategori'].'</a><br><br>');
    }
} elseif ($_GET['action'] == "kategori") {
    $conn = mysql_query("SELECT * FROM sang WHERE kategori = '$_GET[kat]'");
    while ($rs = mysql_fetch_array($conn)) {
        print('<a href="?action=sang&sang='.$rs['sangn'].'">'.$rs['sangn'].'</a><br><br>');
    }
} elseif ($_GET['action'] == "sang") {
    $conn = mysql_query("SELECT * FROM sang WHERE sangn = '$_GET[sang]'");
    while ($rs = mysql_fetch_array($conn)) {
        print('<table cellpadding="0" cellspacing="0" border="0" width="450" style="FONT-SIZE: 8pt" align="center">
  <tr>
    <td valign="top">
    <div align="left">'.$rs['kunster'].'</div><br><div align="center">'.$rs['sangn'].'</div><br>
    '.nl2br($rs['sang']).'
    </td>
  </tr>
</table>');
    }
}
?>
Avatar billede th1 Nybegynder
17. februar 2005 - 20:22 #19
det gør det os nu:D  takker lukker nu
Avatar billede knocker Nybegynder
17. februar 2005 - 20:23 #20
Var så lidt, og tak for point. :)
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