Det är så att jag håller på med ett nyhets skript och får inte riktigt länkarna till att funka, jag är nybörjare på php så det kan vara så att jag är helt ute och reser,
jag har det så att på index.php visas datum och en rubrik och rubriken ska leda till en ny sida med själva nyheten, och jag har lagt in
echo "<td><input type=hidden name=action value=\"add\"></td>";
i forumlärs koden (är detta rätt?)
och sen är det länken till själva nyheten på index.php hur ska den se ut.
så här der den ut nu
echo "<td><A HREF=" .$row["rubrik"]. '>' .$row["rubrik"]. "</A><P></td>";
SnakesMedlem sedan okt. 2004392 inlägg kan du förklara lite mer.. tex varför du använder denna
echo "<td><input type=hidden name=action value=\"add\"></td>";
och det den här gör är att den skickar dig till en mapp som heter samma som rubriken
echo "<td><A HREF=" .$row["rubrik"]. '>' .$row["rubrik"]. "</A><P></td>";
du måste skicka den till en php sida (kanske index.php) som säger vad rubriken är tex
echo "<td><A HREF=index.php?rubrik=" .$row["rubrik"]. '>' .$row["rubrik"]. "</A><P></td>";
och så lägger du i index.php
if(isset($_GET["rubrik"])) {
// så kör du att mysql ska plocka från rubrik fältet där rubriken är lika med $_GET["rubrik"]
}
Hoppas jag fattar dig rätt och hoppas du fattar mig rätt :D
ok,kolla här: http://www.freddeholm.com/startframe.php det är en liten del av sidan, om du tittar till vänster där så ser du nyheterna som dom ska visas,och sen för att se hela nyheten klickar man på rubriken(som då ska leda till en ny sida med datum,rubrik,nyhets texten.) men som läget är nu så leder inte den länken någonstans,därför behöver jag ett id, från formuläret(för det ska ändast visas just den nyheten och inte alla på en gång)
Jag la in den länken och ändrade den till news.php och nu kommer jag till själva nyheten,bara det att alla länkar leder till samma nyhet.
SnakesMedlem sedan okt. 2004392 inlägg ok vi ändrar lite...
du har väl en id fält i databasen kör från den. har du ingen? då gör du en. Är du osäker? visa din databas struktur......
echo "<td><A HREF=nyheter.php?id=" .$row["id"]. '>' .$row["rubrik"]. "</A><P></td>";
så ja.... nu kör du bara en where id lika med $_GET["id"] i en sql sträng (om du använder det som databas) i filen nyheter.php....
och så självklart så kan du lägga en if(!isset($_GET["id"])) så skickar du dem till index...
är det nåt du inte förstår? säg till :D
EDIT: kör med news.php istället :D felet för att den visar samma är för att du gjort lite fel med where... och så är det lite osäkert med rubrik... kör med id ;)
SnakesMedlem sedan okt. 2004392 inlägg För att börja med så måste du först byta ut $row["id"] till den som stämmer.... allt funkar inte automatisk du vet :D... för det andra så har du ett sql fel... kan du infoga news.php!
vad medar du med "För att börja med så måste du först byta ut $row["id"] till den som stämmer" var ska jag ändra?
och vad har jag för sql fel?
PeddaMedlem sedan juni 20006 032 inlägg Vad heter fältet i databasen som har auto_increment?
Ändra $row['fältnamn'] så ska det nog funka.
Om du i din sql sats då du hämtar rubrikerna enbart hämtar rubriken så måste du också hämta id (eller vad fältet heter) i startframe.php.
SnakesMedlem sedan okt. 2004392 inlägg Förstår du fortfarande inte så kan du visa din databas struktur så säger vi vilket fält är id fältet (som vi kallar det).... fortsätter news.php visa samma nyhet, så visa vad du har i den, alltså infoga news.php här i tråden.
här är tabellen (och jo där har jag lagt dit (id)
CREATE TABLE `tabell` (
`id` int(11) NOT NULL auto_increment,
`namn` varchar(50) NOT NULL default '',
`rubrik` varchar(50) NOT NULL default '',
`nyhet` text NOT NULL,
`datum` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=17 ;
och här är news.php
<?php
if (!$pageid) {
$pageid=1;
}
// databas koppling
$server = "localhost"; // MySQL servern oftast localhost
$dbuser = "******"; // MySQL användaren
$dbpass = "******"; // MySQL lösenord
$dbname = "******"; // Databasens namn
$dbtable = "tabell"; // Nyhets tabellen
// Anslut till MySQL databasen
mysql_connect($server, $dbuser, $dbpass);
mysql_select_db($dbname);
$sql = mysql_query("SELECT datum, rubrik, nyhet, namn FROM tabell ") or die(mysql_error());
while ($row = mysql_fetch_array($sql)) {
$tmp_datum=$row["datum"];
$tmp_rubrik=$row["rubrik"];
$tmp_nyhet=$row["nyhet"];
$tmp_namn=$row["namn"];
}
echo ("<H1>" .$tmp_datum."</H1>");
echo ("<H1>" .$tmp_rubrik."</H1>");
echo ("<p>" .$tmp_nyhet."</p>");
echo ("<H1>" .$tmp_namn."</H1>");
?>
SnakesMedlem sedan okt. 2004392 inlägg Testa och ändra denna rad:
$sql = mysql_query("SELECT datum, rubrik, nyhet, namn FROM tabell ") or die(mysql_error());
till den här:
$sql = mysql_query("SELECT datum, rubrik, nyhet, namn FROM tabell WHERE id='.$_GET[id].'") or die(mysql_error());
så... är inte säker att jag skrivit rätt men det borde funka!
Tips: Gör en if(isset($_GET[id])) och är den inte satt så skickas man till start sidan, annars blir det bara fel om man inte har satt nåt på ID:n... och det vill man ju inte att besökarna ska se!
nix den raden funkade inte,det som händer är att när jag klickat på länken så kommer jag bara till en ny sida utan någonting.
SnakesMedlem sedan okt. 2004392 inlägg idn måste ju stämma.... du kan inte gå in i news.php bara....
Och att inget kom betyder att den funkar!
Gå in i din databas och kolla id:n från nån av dina nyheter och gå in på news.php?id=5 (jag tog 5 tex men ändra den mot idn du hitta i databasen och testa).... och glöm inte att länka rätt i startsidan!
JAg har ändrat länken till <A HREF=news.php?id=17" .$row["id"]. '>' .$row["rubrik"]. "</A><P></td>"; ,och jag var inne och kollade en nyhet i databasen som hade (id 17) och fortfarande samma fel.
SnakesMedlem sedan okt. 2004392 inlägg Tittade på startfarme och märkte att du bytte ut alla news.php?id= till news.php?id=17
Det skulle du ju inte göra.... gå in i startframe och byt ut
news.php?id=17" .$row["id"]. '
till
news.php?id=17" .$row['id']. "
det borde få det hela att funka perfekt angående news.php... ta det lungt försöker komma på problemet
Edit: har ändrat hela inlägget
SnakesMedlem sedan okt. 2004392 inlägg Varför printar den inte ut id:n (i startframe)..... news.php kanske inte får någon id.... varför?... är du hundra på att fältet heter id och att den stämmer på alla sätt! Namnet måste stämma på alla sätt... alltså heter den ID och vi skriver iD så funkar det inte eller heter den id och vi skriver ID så funkar det inte, alltså är du säker på små och stora bokstäverna... annars byter du ut alla $row['id'] (eller $row["id"]) till de id namnet som stämmer.....
ja fältet heter id (`id` int(11) NOT NULL auto_increment,)
kan det vara fel på admin.php??
SnakesMedlem sedan okt. 2004392 inlägg jag vet inte.... jag måste se hela startframe.php!
En liten fråga bara hade alla nyheter id 17 eller bara en?