MySQL tabellen maken + nieuws systeem

Door Bas Kreleger, 21 jaar geleden, 35.475x bekeken

Uitleg over hoe je database tabellen maakt in een MySQL database en hoe je daar nou een nieuws systeem van maakt.

Gesponsorde koppelingen

Inhoudsopgave

  1. Wat is een database tabel?
  2. Waarmee maak ik een database tabel?
  3. Welke SQL codes gebruik ik voor een tabel?
  4. Het maken van de tweede tabel, reacties
  5. Met PHP nieuws + reacties uit de database halen
  6. Tot slot, rijen invoegen

 

Er zijn 75 reacties op 'Mysql tabellen maken nieuws systeem'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Jody
Jody
21 jaar geleden
 
0 +1 -0 -1
Heb het doorgelezen en ik vind dat alles duidelijk staat uitgelegd! Perfect! Ik ga het dit weekend eens allemaal op m'n gemakkie uitproberen en eens kijken of het me lukt! :)
Bas Kreleger
Bas Kreleger
21 jaar geleden
 
0 +1 -0 -1
succes :)
Jody
Jody
21 jaar geleden
 
0 +1 -0 -1
Het staat echt goed uitgelegd! Ben er al even mee bezig geweest en het lukt vrij aardig, dus heb d'r ook wel wat lol in :)

Als ik weer wat vragen heb dan hoor je het wel :)


21 jaar geleden
 
0 +1 -0 -1
Als je een database wil aanmaken. Moet je dan gewoon een database.php maken met die oprachten en die uitvoeren?

Groetjes Rutger
Bas Kreleger
Bas Kreleger
21 jaar geleden
 
0 +1 -0 -1
Bij een hosting provider heb je meestal een database tot je beschikking.. In die database moet je de tabellen aanmaken.. Kijk even op www.mysql.com voor de commando's om een database aan te maken als je je eigen server hebt.


20 jaar geleden
 
0 +1 -0 -1
Ik snap nu alleen niet hoe het werkt om iets in de data base te krijgen.


20 jaar geleden
 
0 +1 -0 -1
Ik dacht dat je de codes voor het maken van een database tabel (CREATE table enz.) in een apart *.SQL-bestand moest zetten? Maar als ik het goed begrijp kan dat ook direct in je php-code? Dat zou het een stuk makkelijker (en volgens mij ook ineffici?nter) maken :)
Bas Kreleger
Bas Kreleger
20 jaar geleden
 
0 +1 -0 -1
Nee.. Kan niet direct in je PHP code.. Je moet het copy/pasten in een SQL veld in PHPMyAdmin bijvoorbeeld..
Mark PHP
Mark PHP
20 jaar geleden
 
0 +1 -0 -1
Kan j bijvoorbeeld ook zeggen dat j alleen de nieuwste 5 berichten wilt weergeven, en dat j met een link naar alle berichten kan gaan?
Mark PHP
Mark PHP
20 jaar geleden
 
0 +1 -0 -1
Dus k bedoel gewoon de laatste 5 id's laten aanroepen. Tzal ID END -5 zijn ofsow, maar da weet k niet precies. Iemand die het wel weet?
Bas Kreleger
Bas Kreleger
20 jaar geleden
 
0 +1 -0 -1
SELECT id,titel FROM berichten_tabel ORDER BY id LIMIT 0,5; zoiets?
Mark PHP
Mark PHP
20 jaar geleden
 
0 +1 -0 -1
Uh... nee. Als ik dit doe geeft ie de eerste vijf weer ipv de laatste 5.
Bas Kreleger
Bas Kreleger
20 jaar geleden
 
0 +1 -0 -1
dan doe je ff lezen hoe je het andersom doet op www.mysql.com.. ergens in de zin 'DESC' toevoegen.. zelf ff zoeken waar precies
Mark PHP
Mark PHP
20 jaar geleden
 
0 +1 -0 -1
Tja eigenlijk was t heel simpel:
SELECT id,titel,datum FROM Nieuws ORDER BY id DESC LIMIT 0,5
Kees Schepers
kees Schepers
20 jaar geleden
 
0 +1 -0 -1
En je kun ook ASC gebruiken das andersom :P
Mark
mark
20 jaar geleden
 
0 +1 -0 -1
ja en je kunt ook dit doen als je het in php wil laten tonen:

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
<?

print ("<table> ");

$connection = mysql_connect("de url. Kan onder andere localhost zijn");  
$db = mysql_select_db("dbnaam", $connection);
$sql = mysql_query("SELECT id,titel,datum FROM Nieuws ORDER BY id DESC LIMIT 0,5 ");

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

$id = $row["id"];  
$titel = $row["titel"];
$datum = $row["datum"];

print ("</tr><tr>
<td>$id </td>
<td>$titel</td>
<td>$datum</td>

</tr>"
);
}

print ("</table>");

?>
Mark
mark
20 jaar geleden
 
0 +1 -0 -1
print ("</tr><tr> die </tr> kan natuurlijk weg gelaten worden dan he foutje


20 jaar geleden
 
0 +1 -0 -1
asdfasdfasdf
Timothy
timothy
20 jaar geleden
 
0 +1 -0 -1
ik probeer me best te doen om het voor elkaar te krijgen maar ik krijg het niet voor elkaar

ik krijg op de nieuws.php twee fout meldingen want kan ik hier aan doen en via welke pagina kunnen bezoekers bijvoorbeeld een nieuws bericht achter laten of staat dat hier niet in

fout melding is

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\phpdev\www\test\nieuws.php on line 37
op

en deze

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\phpdev\www\test\nieuws.php on line 59
Er zijn nog geen reacties.


20 jaar geleden
 
0 +1 -0 -1
Mooi uitgelegd, ben druk bezig, klasse site!


20 jaar geleden
 
0 +1 -0 -1
Mooi uitgelegd, ben druk bezig, klasse site!


20 jaar geleden
 
0 +1 -0 -1
Timothy, ik ben een total n00b op vlak van PHP en MySql maar onthoud misschien dat je alle foutmeldingen moet lezen (ook voor andere programmeer/script-talen) dan zie je erbij staan op welke regel(s) je fout(en) zitten :-)

Greetz


20 jaar geleden
 
0 +1 -0 -1
Ten eerste is die eens voor de verandering een zeer goed uitgelegde tutorial en ten tweede klopt en werkt alles.

Ik heb toch noch een vraag (ik ben nog niew in de wereld van PHP), hoe zorg ik er voor dat als je met een form data naar de db stuurt er meteen een goed tid nr. komt. Er zou denk ik iets moeten zijn wat het id nr. van de nieuws table haalt en doorgeeft naar de tid row van de reacties table... maar hoe.

dit is wat ik nu heb.
Iemand een idee hoe ik dit kan aanpassen??


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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php

$titel
=$_POST["titel"];
$nbericht=$_POST["nieuws_bericht"];
$n=$_POST["naam"];
$bericht=$_POST["bericht"];

$Host="localhost";
$User="mijn_user_naam";
$Password="mijn_password";
$DBName="mijn_db";
$TableName1="nieuws";
$TableName2="reacties";
$datetime = date("Y-m-d H:i:s");
$ip= $_SERVER['REMOTE_ADDR'];
$tid="id";

$Link=mysql_connect ($Host, $User, $Password);

$Query="INSERT into $TableName1 values ('0','$titel',
'$nbericht', '$datetime')"
;




if(mysql_db_query($DBName,$Query,$Link)){
print("The query was successfully executed!<br>\n");
}
else{
print("The query could not be executed!<br>\n");
}

 


$Query="INSERT into $TableName2 values ('0','$n',
'$bericht','$ip','$tid' )"
;
if(mysql_db_query($DBName,$Query,$Link)){
print("The query was successfully executed!<br>\n");
}
else{
print("The query could not be executed!<br>\n");
}


print ("This is the data you have inserted in the Database:<br>$n,<br>
$titel,<br>
$nbericht,<br>
$bericht,<br>
$datetime,<br>
$ip<p>\n"
);

mysql_close($Link);


?>


Nogmaals bedankt voor de goede tut.
Aaron


20 jaar geleden
 
0 +1 -0 -1
Ten eerste is die eens voor de verandering een zeer goed uitgelegde tutorial en ten tweede klopt en werkt alles.

Ik heb toch noch een vraag (ik ben nog niew in de wereld van PHP), hoe zorg ik er voor dat als je met een form data naar de db stuurt er meteen een goed tid nr. komt. Er zou denk ik iets moeten zijn wat het id nr. van de nieuws table haalt en doorgeeft naar de tid row van de reacties table... maar hoe.

dit is wat ik nu heb.
Iemand een idee hoe ik dit kan aanpassen??


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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php

$titel
=$_POST["titel"];
$nbericht=$_POST["nieuws_bericht"];
$n=$_POST["naam"];
$bericht=$_POST["bericht"];

$Host="localhost";
$User="mijn_user_naam";
$Password="mijn_password";
$DBName="mijn_db";
$TableName1="nieuws";
$TableName2="reacties";
$datetime = date("Y-m-d H:i:s");
$ip= $_SERVER['REMOTE_ADDR'];
$tid="id";

$Link=mysql_connect ($Host, $User, $Password);

$Query="INSERT into $TableName1 values ('0','$titel',
'$nbericht', '$datetime')"
;




if(mysql_db_query($DBName,$Query,$Link)){
print("The query was successfully executed!<br>\n");
}
else{
print("The query could not be executed!<br>\n");
}

 


$Query="INSERT into $TableName2 values ('0','$n',
'$bericht','$ip','$tid' )"
;
if(mysql_db_query($DBName,$Query,$Link)){
print("The query was successfully executed!<br>\n");
}
else{
print("The query could not be executed!<br>\n");
}


print ("This is the data you have inserted in the Database:<br>$n,<br>
$titel,<br>
$nbericht,<br>
$bericht,<br>
$datetime,<br>
$ip<p>\n"
);

mysql_close($Link);


?>


Nogmaals bedankt voor de goede tut.
Aaron


20 jaar geleden
 
0 +1 -0 -1
hoe laat je rijen zien in een tabel.
hij staat in marcbrak_gebruikers.
zo wil ik het graag hebben:
id voornaam achternaam plaats
groetjes marckie
Jelle
Jelle
20 jaar geleden
 
0 +1 -0 -1
hoe voeg je nu nieuws toe?


20 jaar geleden
 
0 +1 -0 -1
Het is een goede tut maar bij mij werkt die niet helemaal want ik snap niet wat ik bij $pass en $user moet schrijven??


19 jaar geleden
 
0 +1 -0 -1
Zoals er eerder al stond: Dit is een geweldige tutorial. Hier heb ik als beginner nog eens wat aan..

maar.... ik krijg meerdere foutjes...
fouten als:

Notice: Undefined index: id in ---mijnsite---- on line 24.
Dit betekent dat ie dus geen index uit de array kan halen.

Ook zeurt hij over:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ------mijnsite------- on line 36


Weet iemand wat ik hieraan kan doen?


19 jaar geleden
 
0 +1 -0 -1
Dit gaat ook niet werken natuurlijk, als iedereen alleen maar gaat vragen en niemand antwoorden krijgt :P
Bas Kreleger
Bas Kreleger
19 jaar geleden
 
0 +1 -0 -1
je moet die db tabellen aanmaken :o)
Pieter van Linschoten
Pieter van Linschoten
19 jaar geleden
 
0 +1 -0 -1
Voorbeeld: http://members.lycos.nl/victorius1/overzicht.php

I.P.V een nieuws forum een simpele opsomming van nieuwsberichten...

Ik heb de addnews.php van deze site gerukt
om effe snel voor iets minder bekwame PHP leerlingen het ook wat duidelijker te maken.

///----Tabel----///
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
    CREATE TABLE tabel_naam (
        id int(11) auto_increment primary key,
        titel varchar(50) not null,
        news text not null,
        poster varchar(30) not null,
    datum varchar(16) not null
);
?>


///----nieuws.php----///
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?
    //-- maak eerst de connectie met de database!
    $user = "je_database_username";
    $pass = "je_database_paswoord";
    $host = "localhost";
    $dbdb = "je_database_naam";
    
    if (!mysql_select_db($dbdb, mysql_connect($host, $user, $pass)))
    {

        echo "Kan geen verbinding maken met de database.";
        exit();
    }



    unset($user);
    unset($pass);
    unset($host);
    unset($dbdb);

$sql = "SELECT id,titel,datum,news,poster FROM news ORDER BY id DESC";

$res = mysql_query($sql);

echo "<center><b>Nieuws overzicht</b><p><table width=\"40%\"><tr><td>";

if (mysql_num_rows($res) >= 1)
    {


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


$row[datum] = substr($row[datum], 0, 16);

echo "<table border=\"1\" cellspacing=\"0\" width=\"100%\">";
echo "<tr><td><b>". $row['titel'] ."</b> - " . $row['datum'] ." </td></tr>";
echo "<tr><td><table width=\"100%\">";
echo "<tr><td>Door: <b>". $row['poster'] . "</b></td></tr>";
echo "<tr><td>". $row['news'] ."</td></tr></table></td></tr></table><P>";
        }
    }


  else
    {
        echo "<tr><td>Er zijn geen nieuwsberichten.</td></tr>";
    }

echo "</td></tr></table></center>";

/* edited by Lapidi */

?>


///----addnews.php----///
<html>
<head>
<title></title>
</head>

<link rel="stylesheet" href="styles.css" type="text/css" media="screen">

<body>

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?
/* Zorg ervoor dat je een beveiliging op deze pagina zet,
anders kan elke sukkel nieuws toevoegen! */


include("connect.php");
include("functions.php");

if ($_POST['submit'] && $_POST['na_am'] && $_POST['beri_cht'] && $_POST['tit_el'])
{
  
$datum = date("d.m.Y H:i");
$_POST['beri_cht'] = filter($_POST['beri_cht']);

$sql = "INSERT INTO topics SET id = '', titel = '" . $_POST['tit_el'] . "', news = '" . $_POST['beri_cht'] . "', datum = '" . $datum . "', poster = '" . $_POST['na_am'] . "'";
$res = mysql_query($sql);

    if ($res)  
    {

    echo "Nieuws toegevoegd! Ga naar het <a href=\"nieuws.php\">nieuws overzicht</a>";
    }

    else
    {
    echo "Nieuws <b>niet</b> toegevoegd! Probeer het <a href=\"" . $PHP_SELF . "\">opnieuw</a>";
    }
}
    
elseif ($_POST['submit'] || $_POST['na_am'] || $_POST['beri_cht'] || $_POST['tit_el'])
{

echo "Niet alle velden ingevult! Probeer het <a href=\"" . $PHP_SELF . "\">opnieuw</a>";
}

else
{
    
    echo "<center>";
    echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"5\" align=\"center\">";
    echo "<form method=\"POST\" action=\"" . $PHP_SELF . "\">";

    
    /* je kan de naam ook met sessions automatisch invullen,
    en dat alleen admins news kunnen toevoegen, zoals het hoort...*/

    echo "<tr><td>Je naam:*</td></tr>";
    echo "<tr><td><input type=\"text\" name=\"na_am\"></td></tr>";

    
    echo "<tr><td> </td></tr>";
    
    
    echo "<tr><td>Titel:*</td></tr>";
    echo "<tr><td><input type=\"text\" name=\"tit_el\"></td></tr>";

    
    echo "<tr><td> </td></tr>";

    
    echo "<tr><td>Bericht:*</td></tr>";
    echo "<tr><td><textarea name=\"beri_cht\" rows=\"5\" cols=\"15\"></textarea></td></tr>";

    
    echo "<tr><td>Alle velden zijn verplicht! </td></tr>";

    
    echo "<tr><td><input type=\"submit\" name=\"submit\" value=\"Plaats!\" class=\"buttons\">&nbsp<input type=\"reset\" value=\"Wis\" class=\"buttons\"></td></tr>";
    
    
    echo "</form>";
    echo "</table>";
    echo "</center>";
}


?>

</body>
</html>

///---- Einde ----///

Succes er mee!
Paul Burgers
Paul Burgers
19 jaar geleden
 
0 +1 -0 -1
Ik snap de meeste code wel echter het beginnen is nogal lastig.
Waar precies moet ik de SQL code invoeren om de nieuwe tabel aan te maken?
Wie kan mij dat vertellen?
Alvast bedankt.
Pieter van Linschoten
Pieter van Linschoten
19 jaar geleden
 
0 +1 -0 -1
in de database
Something Else
Something Else
19 jaar geleden
 
0 +1 -0 -1
Nou ik ben pas een beginner :x
Help me with this plz

Dit is wat ik krijg :/ :(

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Server\htdocs\test\nieuws.php on line 32
op
$row = mysql_fetch_array($res); <-- dat staat op line 32

------------------
Reacties:
------------------


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Server\htdocs\test\nieuws.php on line 54
Er zijn nog geen reacties.

if (mysql_num_rows($res) >= 1) <-- dat staat op line 54

Wat moet ik doen....ik snap er nix meer van D:


19 jaar geleden
 
0 +1 -0 -1
Ben een novice hoor, dus hier volgen stomme vragen :-)
de codes snap ik wel, maar als ik het goed begrijp is hier sprake van
2 tabellen en een overzicht.

Deze 3 bestanden moeten dus als een apart .php bestand bewaard worden??


19 jaar geleden
 
0 +1 -0 -1
Als ik de tabel in mijn MySQL wil toevoegen krijg ik dit gezeur:

Fout

Er schijnt een fout te zijn in uw SQL query. Mocht de MySQL server een error hebben terug gegeven, probeer dan of uw hiermee uw fout kunt oplossen.

ERROR: Onbekende Punctuatie String @ 1
STR:

SQL-query :




MySQL retourneerde:

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?  
    CREATE TABLE nieuws (  
        id int(11) auto_incr ?>
C Z
C Z
19 jaar geleden
 
0 +1 -0 -1
Hey, Lapidi had het hier over:

anders kan elke sukkel nieuws toevoegen! */

include("connect.php");
include("functions.php");

if ($_POST['submit'] && $_POST['na_am'] && $_POST['beri_cht'] && $_POST['tit_el'])

wat is die functions.php
is die appart?
connect.php heb ik wel
maar die andere niet!
C Z
C Z
19 jaar geleden
 
0 +1 -0 -1
Hey, als ik het nieuwsoverzicht heb, en ik klik op het eerste bericht, dan ga ik naar nieuws.php?id=1 en dan zie ik geen bericht en ook geen reacties, maar hoe laat ik dat bericht zien en de reacties, want ik heb wel al reacties in de database gezet, maar dat doet hij niet?
kan iemand dat uitleggen?

gr.chamaro
Something Else
Something Else
19 jaar geleden
 
0 +1 -0 -1
Nou zeg ik heb nog steeds last van het zelfde prob, omdat ik er pas weer naar kijk :p.
Maar kom er nog steeds nie uit
Quote:
Nou ik ben pas een beginner :x
Help me with this plz

Dit is wat ik krijg :/ :(

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Server\htdocs\test\nieuws.php on line 32
op
$row = mysql_fetch_array($res); <-- dat staat op line 32

------------------
Reacties:
------------------


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Server\htdocs\test\nieuws.php on line 54
Er zijn nog geen reacties.

if (mysql_num_rows($res) >= 1) <-- dat staat op line 54

Wat moet ik doen....ik snap er nix meer van D:


Bas Kreleger of iemand anders help!!!!! :x
Something Else
Something Else
19 jaar geleden
 
0 +1 -0 -1
$sql = "SELECT id,titel,bericht,datum FROM nieuws WHERE id = $HTTP_GET_VARS[id]";

$sql = "SELECT naam,bericht FROM reacties WHERE tid = $HTTP_GET_VARS[id]";

Het heeft met die $http_get etc te maken, want als ik dat weg haal krijg ik wel de nieuws maar niet degene die ik wil hebben.
Help! again :p


19 jaar geleden
 
0 +1 -0 -1
Ik snap niet waar ik moet beginnen. Waar moet ik die Queries inzetten?MsAcces??? Dan geeft ie een foutmelding in de querie. Ik snap het hele verhaal van de database eigenlijk niet. Kan iemand dat stap voor stap uitleggen??


19 jaar geleden
 
0 +1 -0 -1
gast...hij zegt toch duidelijk als je het niet snapt...volg eerste deze tutorials....sql tutorials dus =\ lees is.....
Leon G
Leon G
19 jaar geleden
 
0 +1 -0 -1
Weet iemand ook hoe ik ingevoerde gegevens kan bewerken?


19 jaar geleden
 
0 +1 -0 -1
Via de phpmyadmin.. moet je naar die tabel nieuws, en dan op wijzigen bij je item dat je wil veranderen.
Leon G
Leon G
19 jaar geleden
 
0 +1 -0 -1
Ja dat snap ik (Phpmyadmin) maar ik wil een module maken waarin mensen zelf ingevoerde stukken kunnen bewerken.


19 jaar geleden
 
0 +1 -0 -1
Hallo! Ik ben dus een php-?bernoob en ik ben me kapot aan het zoeken op het internet naar een nieuws systeem. Ik geloof dat ik elk systeem al uitgeprobeerd heb en nu kom ik hier. Het is naar mijn mening aardig goed uitgelegd, maar het lukt me nog steeds niet :S.
Een paar vragen:
- Moet ik die sql-scripts in aparte files zetten?
- Moet ik dit met een speciaal programma doen? Source edit is niet goed volgens mij.
- Ik die overal nog van die "while ($row = mysql_fetch_array($res)) { echo" enz. dingen als ik de php-pagina in mn inet expl. open. klopt dit?

Ik ben ten einde raad... Ik denk dat ik alles goed doe maar niets klopt achteraf... frustratieniveau = erg hoog

ALVAST BEDANKT!!!


19 jaar geleden
 
0 +1 -0 -1
Ik had nog een vraagje.. en ik zag dat er nog wel gereageerd kon worden zoveel jaar later ;-)

Waarom gebruik je hier voor de reactie tabel een id-veld? Is dit puur vanwege het normaliseer gebeuren of is het een automatisme om elk record een unieke id te geven? Of is het verder ook echt nodig?

Ik zit met ongeveer dezelfde situatie: een tabel 'nieuwsberichten' en omdat een nieuwsbericht meerdere afbeeldingen kan hebben heb ik nog een tabel 'nieuwsafbeeldingen'. (Afbeeldingen zijn volgens de database terminologie dus de 'repeterende groep')
Ervan uitgaande dat elk bericht alleen maar unieke foto's heeft, volsta ik toch met een 'tid' veld in de afbeeldingen-tabel? Dan heb ik toch niet voor iedere afbeelding een eigen 'afbeelding_id' veld nodig?
Of zie ik dit verkeerd?
Mag ik er misschien niet vanuit gaan dat iemand geen twee dezelfde afbeeldingen bij een bericht upload?


19 jaar geleden
 
0 +1 -0 -1
hoi, ik vind de uitleg erg goed,

maar ik ben bezig om de php code zo aan te passen dat inplaats van een "link" lijst gewoon de eerste berichten onder elkaar komen staan, maar het wil niet lukken, iemand enig idee ????


19 jaar geleden
 
0 +1 -0 -1
Hallo,

Ik krijg de volgende als ik mijn nieuws gedeelte wil bekijken:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/netw/public_html/Test/nieuws.php on line 29

Op line 29 staat het volgende:
$row = mysql_fetch_array($res);

heb ik iets verkeerd ingetypt?? (zal vast wel iets zijn fout gegaan anders kreeg ik die melding niet)
Bas Kreleger
Bas Kreleger
19 jaar geleden
 
0 +1 -0 -1
heb je de tabellen wel aangemaakt? denk 't niej :)
Geert
Geert
19 jaar geleden
 
0 +1 -0 -1
de tabellen had ik al wel in m'n database gegooit (net nog gecontroleerd).
Richard Penning
Richard Penning
19 jaar geleden
 
0 +1 -0 -1
Is er al iemand ie een formulier in nieuws.php heeft zodat reacties geplaatst kunnen worden ? Kom er niet uit.......


19 jaar geleden
 
0 +1 -0 -1
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
    CREATE TABLE reacties (
        id int(11) auto_increm?>
Jens
jens
19 jaar geleden
 
0 +1 -0 -1
http://www.elektro-coma.be/fout.JPG
wie kan me helpen met deze fout
- SanThe -
- SanThe -
19 jaar geleden
 
0 +1 -0 -1
@Jens: Typ eens help in en je krijgt een overzicht van wat de commando's zijn. Verder lees de manual door man mysql in te tikken. Jij wilt een database aanmaken dat doe je met mysqladmin. Succes.

Edit: Lukt het nog steeds niet, start dan een topic.
Viktor
Viktor
19 jaar geleden
 
0 +1 -0 -1
Waar kunnen dan mensen reageren?
Bas Kreleger
Bas Kreleger
19 jaar geleden
 
0 +1 -0 -1
bij een nieuws item
Viktor
Viktor
18 jaar geleden
 
0 +1 -0 -1
Maar er is nergens een form? moeten de mensen dan via mysql reageren? lijkt me duidelijk?


18 jaar geleden
 
0 +1 -0 -1
uhh viktor, eht is de bedoeling dat je dat zelf maakt,

ik heb net het script gedaan en alles werkt erg bedankt ik kan er nu wat beter mee overweg, nu een beetje aanpassen en een reactie form maken,
nu ik dit heb gedaan lukt het me michien om een lgoinsystem met rang te maken waarin alleen members kunnen reageren en dat admin's nieuws kunnen toevoegen.
ik zie wel mischien lukt eht met met de kennis die ik hier vergaart het,

thanks


18 jaar geleden
 
0 +1 -0 -1
Richard Penning schreef op 10.05.2005 15:56
Is er al iemand ie een formulier in nieuws.php heeft zodat reacties geplaatst kunnen worden ? Kom er niet uit.......

heb ik gedaan is vrij makkelijk, alleen na submit moet je op vorige drukken op je post te zien, weet iemand hoe je dit automatichkan laten terug redirecten.

en dan had ik nog een vraag over includen.
WROM kan je GVD niet de pagina nieuws.php?id=2 includen
of meot je dan iets anders typen dan
<>inlcude "nieuws.php?id=2"
als iemadn dit weet wil ik eht graag weten, omdat ik een layout met tables heb.

btw. goed script
Philip van Leeuwen
Philip van Leeuwen
18 jaar geleden
 
0 +1 -0 -1
Dit is echt leuk geschreven! Ik heb pas 1 pagina gelezen, maar leest erg makkelijk weg! Goed gedaan!
Kevin
Kevin
18 jaar geleden
 
0 +1 -0 -1
ik krijg het dus echt niet werkende (k ben noob) waar moet die create table enz. nou komen te staan ik snap er geen vliegende f*** van :s
Raymond ---
Raymond ---
18 jaar geleden
 
0 +1 -0 -1
Ik vraag me af waar moet je een MySQL tabel neer zetten (op wat voorn pagina)

(ben niet zo goed in My SQL)
Danny
Danny
18 jaar geleden
 
0 +1 -0 -1
het is een leuke tutorial maar als ik me niet vergis is dit een tutorial uit een php 5 boek want dit script heb ik wel eens gemaakt via zo'n boek namelijk :P:P
Bas Kreleger
Bas Kreleger
18 jaar geleden
 
0 +1 -0 -1
bwhahaha!! dat kan ?cht niet!!
Pietjan
pietjan
17 jaar geleden
 
0 +1 -0 -1
misschien een domme vraag maar, hoe laat ik mensen maar 1x een reactie geven? de mensen hebben altijd dezelfde naam.
Billy
Billy
17 jaar geleden
 
0 +1 -0 -1
alles is gelukt maar ehh... hoe plaats je nu een nieuws bericht :s??
PHP hulp
PHP hulp
17 jaar geleden
 
0 +1 -0 -1
het is een leuke tutorial maar als ik me niet vergis is dit een tutorial uit een php 5 boek want dit script heb ik wel eens gemaakt via zo'n boek namelijk :P:P

-------------------

Misschien hebben zij hem van bas zijn site gejat :)
Btw: Een super tutorial! Harstikke duidelijk en super interesant. Alles wat mij nog niet duidelijk was over databases en SQL op het gebied van tabellen aanmaken is mij nu allemaal duidelijk geworden. Super!
Victor
victor
17 jaar geleden
 
0 +1 -0 -1
goeie tut! ik begrijp nu eindelijk een beetje hoe je met mysql werkt!!
Jasper Zegikniet
Jasper Zegikniet
17 jaar geleden
 
0 +1 -0 -1
ik snap nog niks van die gekke tabellen...
in welk sql bestand maak je een tabel aan?
Scrptr
Scrptr
17 jaar geleden
 
0 +1 -0 -1
Jasper, een sql opdracht om een tabel aan te maken moet je in MySQL invoeren. Als je het nog niet begrijpt, Google weet alles
Piet
piet
16 jaar geleden
 
0 +1 -0 -1
ik heb een paar foutjes weg gewerkt door dit regeltje toe te passen

if ($res && mysql_num_rows($res) >= 1)


ik denk dat dit een heleboel ergernis voor komt
Pim -
Pim -
16 jaar geleden
 
0 +1 -0 -1
Ik heb dit gemaakt om reacties toe te voegen.
Ik bij de reactie tabel ook nog een datum gedaan.

Bij nieuws.php
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
<strong>Reactie toevoegen</strong>
<form action="addreactie.php" method="get">
<p>
Uw naam:<br />
<input type="text" name="naam" />
</p>
<p>
Uw bericht:<br />
<textarea name="bericht" cols="40" rows="10">
</textarea>
</p>
<input type="hidden" name="tid" value="<?php echo $id; ?>" />
<input type="submit" value="Verzenden" />
</form>


En bij addreactie:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
    // Verbinding maken
    $user = "*";
    $pass = "*";
    $host = "*";
    $dbdb = "*";
    
    if (!mysql_select_db($dbdb, mysql_connect($host, $user, $pass)))
    {

        echo "Kan geen verbinding maken met de database.";
        exit();
    }

    
    unset($user);
    unset($pass);
    unset($host);
    unset($dbdb);

    // Forumulier controleren
    if (!$_GET['naam'] || !$_GET['bericht'] || !$_GET['tid']) {
        echo "Je hebt niet alles ingevuld.<br \><a href=\"#\" onclick=\"history.back()\" >Klik hier</a> om terug te gaan.";
        exit();}

    // Vars instellen
    $name = addslashes(htmlentities($_GET['naam']));
    $bericht = addslashes(htmlentities($_GET['bericht']));
    $ip = $_SERVER['REMOTE_ADDR'];
    $datum = date("d-m-Y H:i");
    $tid = $_GET['tid'];
    
    // Query uitvoeren
    $sql = "
    INSERT INTO reacties SET
     naam = '$name',
     bericht = '$bericht',
     ipadres = '$ip',
    tid = '$tid',
    datum = '$datum';"
;
    
    $res = mysql_query($sql) or die (mysql_error());
    
    echo "Je reactie is geplaatst.<br \><a href=\"#\" onclick=\"history.back()\" >Klik hier</a> om terug te gaan.";

?>


Wat vinden jullie ervan? Ik ben ook maar een beginner in PHP dus ga me aub niet helemaal afzeiken omdat het slecht is.
Frank -
Frank -
16 jaar geleden
 
0 +1 -0 -1
$name = addslashes(htmlentities($_GET['naam']));
Onzinnig, zowel addslashes als htmlentities kunnen weg. Gebruik mysql_real_escape_string(), dat is veiliger en handiger.

$datum = date("d-m-Y H:i");
Dit is een leuke, ga maar eens sorteren op datum... Dat gaat dus niet. Een datum sla je op in een DATE of DATETIME in het formaat yyyy-mm-dd hh:mm:ss. Gebruik de database-functie NOW() om de datum en tijd van nu te pakken. Dat is handiger dan een php-functie.

$tid = $_GET['tid'];
Hier ben je dus mysql_real_escape_string() vergeten, nu heb je een veiligheidslek te pakken...

INSERT INTO blabla SET
Waar heb jij SQL geleerd? Ga je mond eens spoelen! Dit lijkt nergens op, een INSERT heeft de volgende syntax:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
INSERT INTO
  tabelnaam(
    kolomnaam,
    nog_een_kolomnaam
    )
VALUES(
  'waarde 1',
  'waarde 2'
)

Echo met dubbele quotes is niet handig, nu kun je eindeloos de dubbele quotes in de html gaan escapen. Gebruik dus enkele quotes bij de echo.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
TreX
TreX
16 jaar geleden
 
0 +1 -0 -1
1 kraak aub die jonge nie af hij is een beginner zoals ik en hij doet zijn best om het te proberen jij kon het ook niet perfect toen je het de eerste keer deet dus aub een beetje respect ( kan eigenlijk iemand mij een voorbeeld geven hoe die mysql_real_escape_string() werkt ik heb er al van gehoord maar nie echt gebruikt
Grts Trex ps Nice tutorial man echt de moeite om te leren
en Pim mooi gedaan ge zijt al beter als ik ^^
Cya

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. Wat is een database tabel?
  2. Waarmee maak ik een database tabel?
  3. Welke SQL codes gebruik ik voor een tabel?
  4. Het maken van de tweede tabel, reacties
  5. Met PHP nieuws + reacties uit de database halen
  6. Tot slot, rijen invoegen

Labels

  • Geen tags toegevoegd.

PHP tutorial opties

 
 

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.