login  Naam:   Wachtwoord: 
Registreer je!
 Forum

aantal problemen

Offline kickasgamer - 03/08/2008 10:01
Avatar van kickasgamerPHP ver gevorderde Ik wil dat van de totale hoeveelheid warnings (de rij warnings in de tabel leden) het aantal punten aftrekken van de warning die ik verwijder

nu doe ik het zo:
  1. <?php
  2. $query = "UPDATE ".$table." SET warnings=warnings-".$arr['warnings']." WHERE id=".$id."";
  3. ?>


dit is de volledige code: http://www.plaatscode.be/14138/

waarom wordt totaal niet verminderd met die hoeveelheid warnings ?

(ik ga nu weer een voor een men problemen posten en oplossen )
alvast bedankt

12 antwoorden

Gesponsorde links
Offline Abbas - 03/08/2008 13:39
Avatar van Abbas Gouden medaille

Crew .NET
Ik zie nergens een declaratie van de variabele '$table', misschien ligt hier het probleem. En anders moet je eerst eens kijken of je array wel correct gevuld wordt.
Offline kickasgamer - 03/08/2008 16:32
Avatar van kickasgamer PHP ver gevorderde ja $table wordt gedeclared in de config.php

en die arr wordt iets boven die query uit de DB gehaalt en in die $arr geplaats

dus ik snap niet echt waarom dat het niet werkt
Offline Abbas - 03/08/2008 16:45
Avatar van Abbas Gouden medaille

Crew .NET
Citaat:
ja $table wordt gedeclared in de config.php
Ok, maar heeft die wel een waarde dan?
Citaat:
en die arr wordt iets boven die query uit de DB gehaalt en in die $arr geplaats
Ook hier weer, kijk eens na of de array wel juist gevuld wordt alvorens de volgende query uit te voeren. 
Offline kickasgamer - 03/08/2008 18:18
Avatar van kickasgamer PHP ver gevorderde ok dat ga ik eens checken, aan die $table kan het niet liggen want die gebruik ik op iedere pagina en die werkt gewoon
Offline Rik - 03/08/2008 18:30
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Echo je query dan eens en kijk of het er goed uit ziet. Daarna kun je het ook handmatig proberen uit te voeren (via phpMyAdmin bvb).
Offline kickasgamer - 03/08/2008 19:07 (laatste wijziging 03/08/2008 19:15)
Avatar van kickasgamer PHP ver gevorderde de eerste query die je tegen komt heb ik geechoët: dit gaf hij --> SELECT * FROM leden WHERE id='15' (dus die is juist)

de 2de query die je tegen komt --> UPDATE warnings SET eind_datum=NOW() WHERE id='15' (ook correct)

nu ga ik de andere nog even testen

EDIT: het ligt dus aan de arr['warnings'] want die is leeg

maar ik snap niet dat dat kan
  1. $query1 = "SELECT warnings FROM ".$table." WHERE id='".$id."'";
  2. $res = mysql_query($query) or die(mysql_error());
  3. $arr = mysql_fetch_assoc($res);
Offline Rik - 03/08/2008 19:44
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Je zet de query in $query1 waarna je $query uitvoert? Klopt dat?  
Offline kickasgamer - 03/08/2008 20:24 (laatste wijziging 04/08/2008 11:02)
Avatar van kickasgamer PHP ver gevorderde nee nee, dat ws effe om alle queries te apart te kunnen echoën

dit is de echte code: Plaatscode: 14188

ja dus die $arr blijft leeg, ondanks dat de query juist is en geen error geeft,

EDIT: ik heb nu ook nog een die query geëchoet en de $arr['warnings'] laten weergeven, de query klopt en $arr... blijft leeg 
Offline Sitebase - 04/08/2008 13:19
Avatar van Sitebase PHP expert Doe eens:
  1. print_r($arr);

om de opbouw van de array te bekijken.

Ik denkt dat je $arr['warnings'] gaat moeten vervangen door $arr[0]['warnings'].
Offline kickasgamer - 04/08/2008 13:41
Avatar van kickasgamer PHP ver gevorderde als ik print_r($arr); doe krijg ik een witte pagina 
Offline Sitebase - 04/08/2008 13:49
Avatar van Sitebase PHP expert
kickasgamer schreef:
als ik print_r($arr); doe krijg ik een witte pagina 


print_r($arr); wel op lijn 19 of verder zetten.
Offline kickasgamer - 04/08/2008 16:08 (laatste wijziging 04/08/2008 16:09)
Avatar van kickasgamer PHP ver gevorderde ik had de print_r gezet boven de echo vana ls de warnng is toegevoegy

  1. if($_SERVER['REQUEST_METHOD'] == 'POST'){
  2. foreach($_POST as $id){
  3. // (string)$id betekend dat $id van het type string wordt.
  4. // De functie ctype_digit verwacht ook een string als parameter.
  5. if($id || ctype_digit($id)){
  6.  
  7. //vorige hoeveelheid warnings ophalen
  8. $query = "SELECT * FROM ".$table." WHERE id=".$id."";
  9. $result = mysql_query($query) or die(mysql_error());
  10. $arr = mysql_fetch_assoc($result);
  11.  
  12. $warnings = $arr[0]['warnings'];
  13.  
  14. /*$query = "UPDATE warnings SET eind_datum=NOW() WHERE id='".$id."'";
  15. mysql_query($query) or die(mysql_error());
  16.  
  17. $query = "UPDATE ".$table." SET warnings=warnings-".$warnings." WHERE id=".$id."";
  18. mysql_query($query) or die(mysql_error());*/
  19. }else{
  20. echo "Fout met het id.";
  21. }
  22. }
  23. print_r($arr);
  24. echo "De gekozen bans/warnings zijn verwijderd.";
  25. //header("Refresh: 3; URL=index.php?pagina=admin_overzicht");
  26. }else{


maard an krijg ik alleen de echo van dat de warning is toegevoegt

EDIT: die queries wat in de comment staan heb ik effe zo gezet omdat anders een error kwam omdat die $arr['warnings'] leeg is
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.239s