login  Naam:   Wachtwoord: 
Registreer je!
 Forum

nieuwsscript probleem (Opgelost)

Offline kickasgamer - 17/02/2007 09:56
Avatar van kickasgamerPHP ver gevorderde ja ik ben nu, na mijn tutorials begonnen aan een nieuwsscript met mysql, ik heb het op gesteld en het werkte, maar nu krijgt ikd eze error
Column count doesn't match value count at row 1

DB vind je hier:
http://i18.tinypic.com/2uhr9xv.jpg

en de code vindt je hier:
http://www.plaatscode.be/4233/

jullie mogen ook tips geven om mijn script te verbeteren he ;)

alvast bedankt

9 antwoorden

Gesponsorde links
Offline letscode - 17/02/2007 09:58
Avatar van letscode HTML beginner je hebt als code dit

INSERT INTO kag_nieuws (titel, bericht, bron, datum) VALUES ('$titel', '$bericht', '$bron');";

maar je noemt 4 kolommen van je tabel terwijl je er maar 3 waarden in stopt: je vergeet de datum
Offline kickasgamer - 17/02/2007 10:08
Avatar van kickasgamer PHP ver gevorderde ja maar de datum wordt door mysql gedaan, of moet ik die dan toch nog via een php code doorsturen, zoja hoe dan ?
Offline letscode - 17/02/2007 10:31
Avatar van letscode HTML beginner Als de kolom datum een datetime is doe je het zo:

INSERT INTO kag_nieuws (titel, bericht, bron, datum) VALUES ('$titel', '$bericht', '$bron', NOW());";
Offline Grayen - 17/02/2007 10:58
Avatar van Grayen PHP ver gevorderde - Maak bij echo-en gebruik van enkele quotes
- variables buiten quotes (zie query)
- maak gebruik van empty (zie $titel != "")
- vermijd onnodige aanmaak van extra variables (zie $titel = $_POST['titel'])
- en ik zou zo met accolades werken
  1. <?php
  2. if($var == 'bla')
  3. {
  4. if($var == 'bla')
  5. {
  6. //code
  7. }
  8. }
  9. else
  10. {
  11. //code
  12. }
  13. ?>

maar dit is natuurlijk persoonlijk.

Hier is hoe ik het zou doen
http://www.plaatscode.be/4237/
Offline kickasgamer - 17/02/2007 12:36
Avatar van kickasgamer PHP ver gevorderde ja de datum werkt nu, en de tips die jullie hebben gegeven ga ik ook straks toepassen

alvast bedankt voor de hulp, ik hbe nog een vraagje hoe kan ik mijn nieuws weergeven met een neiwue pagina met zo'n opmaak
_________
|titel |
|-------- |
|bericht |
|________|

ik weet hoe ik het met mysql moet doen maar hoe ik het dna moet uitvoeren niet

Offline Grayen - 17/02/2007 13:02 (laatste wijziging 17/02/2007 13:03)
Avatar van Grayen PHP ver gevorderde dit iets? Ik ga er bij uit dat de primary key id heet, want dit kon ik niet in je andere script vinden.

  1. Een pagina met alle nieuwsberichten erop.
  2. <?php
  3. include('include/connect.php');
  4.  
  5. $connect = mysql_connect($host, $user, $pass) or die(mysql_error());
  6.  
  7. // functie om een string af te korten
  8. function afkorten($string, $length)
  9. {
  10. if(strlen($string) > ($length + 20))
  11. {
  12. return substr($string, 0, $length).'...';
  13. }
  14. return $string;
  15. }
  16.  
  17. // We kijken nu of er wel berichten zijn, zo ja dan zetten we de pointer in de var
  18. if($query = mysql_query("SELECT * FROM kag_nieuws"))
  19. {
  20. while($array = mysql_fetch_assoc($query))
  21. {
  22. // Voor elke rij in de tabel voeren we deze code uit (link nog even aanpassen aan je eigen site)
  23. echo '<h1>'.$array['titel'].'</h1><p><em>'.$array['datum'].'</em></p><p>'.afkorten($array['bericht']).'</p><p><a href="enkelnieuwsbericht.php?id='.$array['id'].'">Lees verder</a></p>';
  24. }
  25. }
  26. else
  27. {
  28. // Als er nog geen berichten aanwezig zijn
  29. echo '<p>Er zijn momenteel nog geen berichten.</p>';
  30. }
  31. ?>
  32.  
  33. pagina om een enkele pagina weer te geven
  34. <?php
  35. include('include/connect.php');
  36.  
  37. $connect = mysql_connect($host, $user, $pass) or die(mysql_error());
  38.  
  39. // We kijken of het bericht wel bestaat
  40. if($array = mysql_fetch_assoc(mysql_query("SELECT * FROM kag_nieuws WHERE id = ".$_GET['id'])))
  41. {
  42. echo '<h1>'.$array['titel'].'</h1><p><em>'.$array['datum'].'</em></p><p>'.$array['bericht'].'</p><p>Bron: '.$array['bron'].'</p>';
  43. }
  44. else
  45. {
  46. // Als er nog geen berichten aanwezig zijn
  47. echo '<p>Het bericht kon niet worden geopened.</p>';
  48. }
  49. ?>
Offline kickasgamer - 17/02/2007 13:10 (laatste wijziging 17/02/2007 13:16)
Avatar van kickasgamer PHP ver gevorderde ah bedankt ik had het al voor me kaar gekregen het met een table weer te geven maarniet zo met verkorte weergave enz 

bedankt dus 

EDIT: ik heb je scriptje uitgevoert en het werkt maar ik krijg wel een error:
Warning: Missing argument 2 for afkorten(), called in /customers/******/*******/httpd.www/kickasgamer/php/nieuws/nieuws2.php on line 24 and defined in /customers/******/*******/httpd.www/kickasgamer/php/nieuws/nieuws2.php on line 9

Offline vinTage - 17/02/2007 13:18
Avatar van vinTage Nieuw lid echo '<h1>'.$array['titel'].'</h1><p><em>'.$array['datum'].'</em></p><p>'.afkorten($array['bericht'], EENGETALHIER).'</p><p><a href="enkelnieuwsbericht.php?id='.$array['id'].'">Lees verder</a></p>';

:)
Offline kickasgamer - 17/02/2007 13:20 (laatste wijziging 17/02/2007 16:54)
Avatar van kickasgamer PHP ver gevorderde ah k bednakt 

ja nu heb ik een nieuw vraagje ik wil een berwerk pagina maken, maar ik weet niet oged hoe ik dat het best per bericht kan laten doen, eerst zelf kiezen welk bericht of een edit linkje er onder

dit is de code die ik totnu toe hbe:
  1. <?php
  2. include('inlcude/connect.php');
  3.  
  4. $connect = mysql_connect($host, $user, $pass) or die(mysql_error());
  5.  
  6. $query = "SELECT * FROM kag_nieuws";
  7. $res = mysql_query($query) or die(mysql_error());
  8.  
  9. while ($row = mysql_fetch_row($res)){
  10. $titel = $row[0];
  11. $bericht = $row[1];
  12. $bron = $row[2];
  13.  
  14. ?>

alvast bedankt
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.218s