Toon posts:

[PHP] id= <- HUH?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik had een tijdje geleden een probleempje met een php script maar dat is alweer opgelost. Was een foutje in SQL db.

Maar nu stuit ik weer op een foutje. Ik wil een script maken die headlines aangeeft op news.php en daar en van de headline een link maakt naar het hele artikel (ala t.net) . Ik denk wel dat jullie begrijpen wat ik bedoel. Maar zodra ik dus via ook een php gemaakt form een headline toevoeg krijg ik op news.php3 te zien:

4 New Headlines:
<


Waaronder "<" een link is naar: [url="http://localhost/localhost/news.php3?id="]http://localhost/localhost/news.php3?id=[/url]

Ja iederdaad id= . Dit is mijn news.php3 script die dus de headlines uitpoept in link vorm die linkt naar het hele artikel:
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
$server = mysql_connect();
mysql_select_db("News", $server);
$sql = "SELECT * FROM headlines";
$result = mysql_query($sql);
$all = mysql_num_rows($result);
echo "<b>$all New Headlines:</b><BR>\n";

$show = mysql_fetch_object($result);
echo "$show->Subject<BR>\n";
?>

Ik denk zelf niet dat hier de fout inzit maar in het form die een nieuwe headline toevoegt en er een link van maakt naar het hele artikel:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
if ($send) {
$server = mysql_connect();
mysql_select_db("News", $server);

$subject = addslashes($subject);
$poster = addslashes($poster);
$source = addslashes($source);
$url = addslashes($url);
$summary = addslashes($summary);

$subject = "<a href=\"localhost/news.php3?id=$row->ID\">$row->Subject</a>"; 
$Date="Date of posting: " . date("Y-m-d H:i:s");

$sql = "INSERT INTO headlines (ID, Subject, Poster, Date, Source, Summary) VALUES ('NULL', '$subject', '$poster', '$source', '$url', '$summary')";

mysql_query($sql) or die("Error, please try again later or contact the webmaster");
echo "News succesfull added";
}
?>

De fout zal wel ergens liggen bij: $subject = "<a href=\"localhost/news.php3?id=$row->ID\">$row->Subject</a>"; . Ik zal wel een query moeten maken die het nummer van de row selecteerd van de headline die je toevoegd maar hoe doe ik dat of zit de fout toch ergens anders.

Moet ik ook nog de HTML script geven van het form?

FF vergeten erbij te zetten. ID in de SQL is ID int(50) en Subject is Subject varchar(35). Hopelijk genoeg info. ;)

Verwijderd

PHP:
1
2
3
<?
$sql = "INSERT INTO headlines (ID, Subject, Poster, Date, Source, Summary) VALUES ('NULL', '$subject', '$poster', '$source', '$url', '$summary')";
?>

gebruik eens:
PHP:
1
2
3
<?
$sql = "INSERT INTO headlines (ID, Subject, Poster, Date, Source, Summary) VALUES ('', '$subject', '$poster', '$source', '$url', '$summary')";
?>

Dus 'NULL' vervangen door '' :)


edit:

Dan moet natuurlijk wel het veld ID op auto_increment staan :)

Verwijderd

Topicstarter
Nee werkt ook niet. nu krijg ik dus:

5 New Headlines:
<

De link is nog steeds: [url="http://localhost/localhost/news.php3?id="]http://localhost/localhost/news.php3?id=[/url]


:(

Verwijderd

Ja ok, maar kijk ook eens even in je database (met phpMyAdmin oid) of er een waarde toegekend is aan ID bij de andere velden, aangezien je de anderen nog steeds met 'NULL' hebt toegevoegd.

Verwijderd

btw: waar defenieer jij $row eigenlijk? kan ik niet terug vinden in je code :)

anders weet hij natuurlijk niet wat er mee bedoeld wordt

Verwijderd

Topicstarter
Op maandag 24 september 2001 22:54 schreef tjetta het volgende:
btw: waar defenieer jij $row eigenlijk? kan ik niet terug vinden in je code :)

anders weet hij natuurlijk niet wat er mee bedoeld wordt
Ja precies dat bedoel ik nou. Maar hoe kan ik dan een query maken die steeds dezelfde ID van de headline aan de link:

"<a href=\"localhost/news.php3?id=$row->ID\">$row->Subject</a>"; geeft?

$row = ?????

weet iemand hoe ik dat kan doen???

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op dinsdag 25 september 2001 11:31 schreef Xtermin8tor het volgende:

[..]

Ja precies dat bedoel ik nou. Maar hoe kan ik dan een query maken die steeds dezelfde ID van de headline aan de link:

"<a href=\"localhost/news.php3?id=$row->ID\">$row->Subject</a>"; geeft?

$row = ?????

weet iemand hoe ik dat kan doen???
ja leer php :+

ff serieus das best wel basic en gewoon leuk om ff zelf uit te zoeken
als je een script copy paste moet je ook voor de gevolgen instaan dat je moet uitzoeken hoe het werkt

Doet iets met Cloud (MS/IBM)


Verwijderd

En ik doe altijd een fetch_array ipv fetch_object.
Scheelt weer oo proggren.

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Waarom in hemelsnaam de link opslaan in de subject ipv alleen de normale subject.

De link is te maken zodra je de rest van je velden uitleest. Als je ooit je paginanaam veranderd ben je zuur op het moment. Als je het genereerd op het moment dat het nodig is. (dus zodra de pagina wordt opgevraagd) ben je van dat probleem af. Bovendien zitten er nog heel wat andere voordelen aan.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Sorry hoor maar kom er zelf echt niet uit. Doe echt me best om er achter te komen maar lukt niet.

Verwijderd

www.php.net/manual misschien? Wat jij wil zijn inderdaad een beetje de basic dingetjes

probeer mysql_fetch_array eens voor de gein :)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 13:51

Janoz

Moderator Devschuur®

!litemod

Ik heb het in je vorige topic ook al gezegd, maar ik wordt nu een beetje strenger.....

Open een explorer, druk met je rechtermuisknop op de map van dit project, en kies add to zip. Verplaats dit zip bestand ergens ver weg op je harde schijf. Maak een nieuwe map met de naam "Hello world" en ga hierin een beetje stoeien.

Wat je nu probeert kun je nu nog niet. Het klinkt lullig, maar als je wiskunde leert begin je ook bij 1+1=2, en niet bij limn->inf(n+sin(n))/n=1. In de faq staan allemaal handige links over het leren van php... Kijk daar eens tussen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1