Specifieke pagina na klik op nieuwsitem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jos Vermassen

Jos Vermassen

01/11/2012 13:40:55
Quote Anchor link
Hallo,

Ik ben bezig met het maken van een nieuwsscriptje. Tot hiertoe kan in al een titel, datum, bericht en foto toevoegen aan de databank. Ik heb ook al een pagina waar al deze berichten op komen te staan (een soort archief), maar als ik op een bepaald nieuwsbericht klik (bv op de titel/foto) moet er een nieuwe pagina komen waar nog wat meer informatie op komt te staan. Hoe moet ik deze link maken?


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php  
include"includes/connection.php";

$query = "SELECT datum, titel, bericht, photo FROM image WHERE id=id AND status='0' ORDER BY datum ASC";
$sql = mysql_query($query);

while($row = mysql_fetch_array($sql))
{

    echo $row['titel']." - <i><small>".$row['datum']."</small></i><br>";
    echo $row['bericht'];
    echo "<br>";
    echo "<img src='image/".$row['photo']."' width='360' height='150'>";
    echo "<br><hr><br>";
}

?>
Gewijzigd op 01/11/2012 14:05:58 door Jos Vermassen
 
PHP hulp

PHP hulp

04/05/2024 17:06:17
 
Tim S

Tim S

01/11/2012 13:52:33
Quote Anchor link
Volgens mij bedoel je
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(isset($_GET['id'])

dan kan je hieronder je database code zetten. In de link van het nieuwsitem haal de de id uit de database. En dan maak je een link met bijvoorbeeld www.test.nl/index.php?pagina=nieus&id=/uit de database halen/
 
Jos Vermassen

Jos Vermassen

01/11/2012 14:26:04
Quote Anchor link
Tim Slootweg op 01/11/2012 13:52:33:
Volgens mij bedoel je
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(isset($_GET['id'])

dan kan je hieronder je database code zetten. In de link van het nieuwsitem haal de de id uit de database. En dan maak je een link met bijvoorbeeld www.test.nl/index.php?pagina=nieus&id=/uit de database halen/


Ik heb wat opgezocht, zou het iets moeten zijn in deze aard?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php  
include"includes/connection.php";

if(isset($_GET['id']))
{

    $id = mysql_real_escape_string($_GET['id']);
    $query = "SELECT datum, titel, bericht, photo FROM image WHERE id=id AND status='0' ORDER BY datum ASC";
}

else
{
    
}


$sql = mysql_query($query);

while($row = mysql_fetch_array($sql))
{

    echo '<a href=?id='.$row['id'].'>'.$row['titel'].'</a>';
    echo $row['bericht'];
    echo "<br>";
    echo "<img src='image/".$row['photo']."' width='360' height='150'>";
    echo "<br><hr><br>";
}

?>
 
Tim S

Tim S

01/11/2012 14:44:23
Quote Anchor link
Ja Alleen where id=id moet dan volgens mij zijn where id=$id

En nu staat het archief altijd onder het nieusitem dus else{} is dan niet nodig. Maar volgens mij moet dit wel werken. Om het nog wat netter te doen zou je nog kunnen doen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(isset($_GET['id']) && !empty($_GET['id']))


dan kijk je ook of er wel een waarde bij het id staat.
Gewijzigd op 01/11/2012 14:44:55 door Tim S
 
Jos Vermassen

Jos Vermassen

01/11/2012 14:49:15
Quote Anchor link
Tim Slootweg op 01/11/2012 14:44:23:
Ja Alleen where id=id moet dan volgens mij zijn where id=$id

En nu staat het archief altijd onder het nieusitem dus else{} is dan niet nodig. Maar volgens mij moet dit wel werken. Om het nog wat netter te doen zou je nog kunnen doen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(isset($_GET['id']) && !empty($_GET['id']))


dan kijk je ook of er wel een waarde bij het id staat.


Krijg een lege pagina, mijn id is leeg.
 
Chris PHP

Chris PHP

01/11/2012 14:59:02
Quote Anchor link
En je stuurt je id mee in je url? dus pagina.php?id=1 of net op welke link de mensen klikken?
 
Jos Vermassen

Jos Vermassen

01/11/2012 15:02:58
Quote Anchor link
Chris NVT op 01/11/2012 14:59:02:
En je stuurt je id mee in je url? dus pagina.php?id=1 of net op welke link de mensen klikken?


als ik dus op de link klik, deze:
echo"<a href='show.php?id=".$row['id']."'>".$row['titel']."</a>";

dan komt er dit in mn urlbalk:
http://www.yannickluijten.be/luc/show.php?id=
 
Chris PHP

Chris PHP

01/11/2012 15:04:43
Quote Anchor link
Dus wordt er geen id meegegeven, aangezien hij leeg is. Echo $row['id'] eens op je pagina waar de link staat. Is hij dan wel gevult? Zoiets dus.

echo"<a href='show.php?id=".$row['id']."'>".$row['titel']."</a>";
echo $row['id'];


Toevoeging op 01/11/2012 15:05:45:

Tevens kun je beter je quotes omdraaien, enkel voor je echo's en dubbel voor HTML

Zo dus

echo '<a href="show.php?id='.$row['id'].'">'.$row['titel'].'</a>';
echo $row['id'];
Gewijzigd op 01/11/2012 15:07:05 door Chris PHP
 
Jos Vermassen

Jos Vermassen

01/11/2012 15:06:19
Quote Anchor link
Chris NVT op 01/11/2012 15:04:43:
Dus wordt er geen id meegegeven, aangezien hij leeg is. Echo $row['id'] eens op je pagina waar de link staat. Is hij dan wel gevult? Zoiets dus.

echo"<a href='show.php?id=".$row['id']."'>".$row['titel']."</a>";
echo $row['id'];


Toevoeging op 01/11/2012 15:05:45:

Tevens kun je beter je quotes omdraaien, enkel voor je echo's en dubbel voor HTML


Nee, hij geeft niet terug. Hoe komt dit?
 
Chris PHP

Chris PHP

01/11/2012 15:09:45
Quote Anchor link
Omdat je nergens je id selecteerd in je SELECT statement, kijk hieronder.

SELECT datum, titel, bericht, photo FROM

Dat moet dan zijn

SELECT id, datum, titel, bericht, photo FROM


Dit werkt zo overigens ook niet lijkt me.
if(isset($_GET['id']))
{
$id = mysql_real_escape_string($_GET['id']);
$query = "SELECT datum, titel, bericht, photo FROM image WHERE id=id AND status='0' ORDER BY datum ASC";
}

Waar komt die $_GET[id'] vandaan? Heb je op die pagina ook een query gedraaid waar je de id's opvraagt?

Nu vraag je een id op voordat je de query hebt gedraaid, en als je op de vorige pagina geen query draaid, komt hij natuurlijk nooit aan een id.
Gewijzigd op 01/11/2012 15:10:46 door Chris PHP
 
Jos Vermassen

Jos Vermassen

01/11/2012 15:15:45
Quote Anchor link
Nee dat werkt niet, is het erg als ik die controle niet doe? Ik heb nu dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php  
include"includes/connection.php";

$id = mysql_real_escape_string($_GET['id']);
$query = "SELECT id, datum, titel, bericht, photo FROM image WHERE id=id AND status='0' ORDER BY datum DESC";
$sql = mysql_query($query);

while($row = mysql_fetch_array($sql))
{

    echo"<a href='show.php?id=".$row['id']."'>".$row['titel']."</a>";
    //echo $row['titel']." - <i><small>".$row['datum']."</small></i><br>";
    echo "<br>";
    echo $row['bericht'];
    echo "<br>";
    echo "<img src='image/".$row['photo']."' width='360' height='150'>";
    echo "<br><hr><br>";
}

?>


Nu heb ik enkel nog een probleempje met mn show.php. De pagina is leeg.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$id
= mysql_real_escape_string($_GET['id']);
$query = "SELECT datum, titel, bericht, photo FROM image WHERE id=id AND status='0'";
$sql = mysql_query($query);

$row = mysql_fetch_array($sql);
echo"<h3>".$row['titel']."</h3>";
echo"<p>".$row['bericht']."</p>";
echo"<p>".$row['datum']."</p>";
echo"<p>".$row['photo']."</p>";
?>
 
Chris PHP

Chris PHP

01/11/2012 15:17:54
Quote Anchor link
Komt je id nu wel mee dan? Echo de $_GET['id'] eens op je show.php en lijk eens of hij leeg is.
 
Jos Vermassen

Jos Vermassen

01/11/2012 15:19:34
Quote Anchor link
Chris NVT op 01/11/2012 15:17:54:
Komt je id nu wel mee dan? Echo de $_GET['id'] eens op je show.php en lijk eens of hij leeg is.


De id is nu niet meer leeg nee. Id in show.php is leeg.
 
Chris PHP

Chris PHP

01/11/2012 15:23:05
Quote Anchor link
Dus wordt hij niet goed meegegeven naar de volgende pagina.

Draai nu je quotes eens om, dus voor echo's enkel ' en voor HMTL dubbel " op je eerste pagina.
 
Tim S

Tim S

01/11/2012 15:26:17
Quote Anchor link
Je query op show.php mist nog de id bij SELECT

Toevoeging op 01/11/2012 15:27:15:

En het moet zijn WHERE id $id
 
Jos Vermassen

Jos Vermassen

01/11/2012 15:27:41
Quote Anchor link
Tim Slootweg op 01/11/2012 15:26:17:
Je query op show.php mist nog de id bij SELECT

Toevoeging op 01/11/2012 15:27:15:

En het moet zijn WHERE id $id


Ja dat had ik al aangepast, maar geen verschil.
Ik heb de quotes omgewisseld maar dat geeft ook geen verschil
 
Tim S

Tim S

01/11/2012 16:06:01
Quote Anchor link
Ik heb even een voorbeeldje van een gastenboek van mezelf, ik heb de overbodige dingen weggelaten, dit werkt bij mij.

hier de code voor de berichten die worden weergegeven door op de link de drukken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if(isset($_GET['id']))
{

$id=$_GET['id'];

$query= mysql_query("SELECT * FROM gastenboek WHERE id=$id");



while($data = mysql_fetch_assoc($query)) {
        // Als er wel reacties zijn geplaatst worden deze nu weergegeven
        echo '<div id="berichten">
        
        <div class="naamg"><b8>Geplaatst door</b8> '
.htmlspecialchars(stripslashes($data['naam'])).'<b8> op </b8> '.htmlspecialchars(stripslashes($data['datum'])).'</div>
        
        <div class="berichtg"><br />'
.nl2br(stripslashes($data['bericht'])).'</div></div>';
        
    }

//ik heb hier zelf nog else{}, hier laat ik alle berichten zien
?>


//hier de code voor het maken van de link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$query
= mysql_query("SELECT * FROM gastenboek ORDER BY id");

<
div class="bericht"><a href="index.php?pagina=gastenboek&id='.$data['id'].'"><b></b>'.stripslashes(substr(strip_tags($data["bericht"]),0,31)).'...</a></div>
?>


Je moet nog wel een while lus maken bij de link
Gewijzigd op 01/11/2012 16:12:54 door Tim S
 
Jos Vermassen

Jos Vermassen

01/11/2012 16:34:38
Quote Anchor link
Tim Slootweg op 01/11/2012 16:06:01:
Ik heb even een voorbeeldje van een gastenboek van mezelf, ik heb de overbodige dingen weggelaten, dit werkt bij mij.

hier de code voor de berichten die worden weergegeven door op de link de drukken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if(isset($_GET['id']))
{

$id=$_GET['id'];

$query= mysql_query("SELECT * FROM gastenboek WHERE id=$id");



while($data = mysql_fetch_assoc($query)) {
        // Als er wel reacties zijn geplaatst worden deze nu weergegeven
        echo '<div id="berichten">
        
        <div class="naamg"><b8>Geplaatst door</b8> '
.htmlspecialchars(stripslashes($data['naam'])).'<b8> op </b8> '.htmlspecialchars(stripslashes($data['datum'])).'</div>
        
        <div class="berichtg"><br />'
.nl2br(stripslashes($data['bericht'])).'</div></div>';
        
    }

//ik heb hier zelf nog else{}, hier laat ik alle berichten zien
?>


//hier de code voor het maken van de link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$query
= mysql_query("SELECT * FROM gastenboek ORDER BY id");

<
div class="bericht"><a href="index.php?pagina=gastenboek&id='.$data['id'].'"><b></b>'.stripslashes(substr(strip_tags($data["bericht"]),0,31)).'...</a></div>
?>


Je moet nog wel een while lus maken bij de link


Ik heb een aantal dingen geprobeerd, maar ik kom er niet uit. Wanneer ik op een link klik kom ik nog steeds uit op een lege pagina. Het id komt wel in de urlbalk te staan.
 
Tim S

Tim S

01/11/2012 16:38:45
Quote Anchor link
$_GET wel moet hoofdletters, deze fout had ik laatst
 
Jos Vermassen

Jos Vermassen

01/11/2012 16:58:00
Quote Anchor link
Tim Slootweg op 01/11/2012 16:38:45:
$_GET wel moet hoofdletters, deze fout had ik laatst


Heb ik toch overal met hoofdletters gedaan? Dit is mijn show.php nu:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$id
= mysql_real_escape_string($_GET['id']);
$query = "SELECT id, datum, titel, bericht, photo FROM image WHERE id=id";
$sql = mysql_query($query);

$row = mysql_fetch_array($sql);
echo"<h3>".$row['titel']."</h3>";
echo"<p>".$row['bericht']."</p>";
echo"<p>".$row['datum']."</p>";
echo"<p>".$row['photo']."</p>";
?>


en dit is mijn link:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
while($row = mysql_fetch_array($sql))
{

    echo"<a href='show.php?id=".$row['id']."'>".$row['titel']."</a>";
}

?>
 
Koen Hollander

Koen Hollander

01/11/2012 17:36:25
Quote Anchor link
ik vraag me af waarom je $sql en $query niet samen doet
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.