löschen eines forums in einem board

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • löschen eines forums in einem board

    hi sobald ich den folgenden case nicht auskommentiere hab ich eine fehlermeldung

    PHP-Quellcode

    1. case 'delforum':
    2. if ( $level == 0 )
    3. {
    4. if ($submit == "yes")
    5. {
    6. $query = "SELECT topic_id FROM topic WHERE forum_id=$f";
    7. $result = mysql_query($query);
    8. if (!$result)
    9. {
    10. echo("<br> Database connection failed; ". mysql_error() ."<br>");
    11. }
    12. while ( $var = mysql_fetch_array($result) )
    13. {
    14. @mysql_query("DELETE FROM posts WHERE topic_id=$var['topic_id']");
    15. }
    16. $u = "DELETE FROM topic WHERE forum_id=$f";
    17. $i = "DELETE FROM forum WHERE forum_id=$f";
    18. if (@mysql_query($u) and @mysql_query($i))
    19. {
    20. header ("Location:board.php");
    21. }
    22. else
    23. {
    24. echo("<p>Post failed; ". mysql_error() ."</p>");
    25. }
    26. }
    27. if ($submit == "no")
    28. {
    29. header ("Location:board.php");
    30. die ();
    31. }
    32. }
    33. else
    34. {
    35. header ("Location:board.php");
    36. die ();
    37. }
    38. break;
    Alles anzeigen


    hat einer von euch eine ahnug was daran falsch ist der fehler muss in der while schleife liegen allerdings habe ich keine ahnung wie ich das sonnst machen kann.
    es sollte zuerst jeder post in den threads die in einem forum sind gelöscht werden dann die threads und dann das forum selbst.

    danke im voraus fuer eure hilfe
    cu grindl
  • Hi!

    Wir wissen ja leider nicht welche Fehlermeldung kommt, aber das könnte einen Fehlerverursachen:


    if (!$result)
    {
    echo("<br> Database connection failed; ". mysql_error() ."<br>");
    }
    while ( $var = mysql_fetch_array($result) )
    {



    das muss schon so lauten:


    if (!$result)
    {
    echo("<br> Database connection failed; ". mysql_error() ."<br>");
    }
    if($result)
    while ( $var = mysql_fetch_array($result) )
    {

  • Fehlermeldung ist folgende:

    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /home/.sites/36/site228/web/new/postfunc.php on line 250

    die zeile 250 ist folgende:

    PHP-Quellcode

    1. @mysql_query("DELETE FROM posts WHERE topic_id=$var['topic_id']");


    das komische ist das diese fehlermeldung auch kommt wenn er gar nichts in dem case machen dürfte!

    udn @Future Vision
    ich brauch da kein if($result) machen wenn ich oben nach dem echo ein die (); einbaue weil dann ist es unmöglich das man dort hin kommt wenn $result nicht gegeben ist! es geht ausserdem auch wenn dieses das die (); wie oben nicht da ist der fehler bleibt der gleiche! hab zur sicherheit auch deine variante mit dem if probiert ist aber auch die kleiche fehlermeldung!
  • Ich würde es mal damit versuchen:

    PHP-Quellcode

    1. @mysql_query("DELETE FROM posts WHERE topic_id=".$var['topic_id'].");
    2. oder
    3. @mysql_query("DELETE FROM posts WHERE topic_id='$var['topic_id']'");
    4. oder
    5. @mysql_query("DELETE FROM posts WHERE topic_id='".$var['topic_id']."'");


    dieses Fehler hatte ich acuh schon paar mal ... :(

    aber eine von den Varianten da oben, hat bei mir noch immer funktioniert :)
  • lol ja wiedermal so ein richtiger scheiss fehler ich hab natürlich gleich mal an irgendwas viel komplizierteres gedacht ;)

    habs jetzt so gemacht:

    PHP-Quellcode

    1. while ( $var = mysql_fetch_array($result) )
    2. {
    3. $tid = $var['topic_id'];
    4. @mysql_query("DELETE FROM posts WHERE topic_id=$tid");
    5. }

    weil ich keine lust hatte auf herumprobieren mit den punkten und strichelchen ;)

    danke cu grindL`