Ausgabe Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ausgabe Problem

    Hab hier folgendes Problem ich erzeuge hier News artikel und will diese anzeigen jedoch passiert wenn die id = 0 ist folgendes -> Es werden alle Newseinträge angezeigt ! Warum ?

    Hier ist der Code:
    PHP-Code:
    <?
    if($action == "readnews" && $id == $i){
                    $writer = mysql_result($Result3,$i,"writer");
                    $email = mysql_result($Result3,$i,"email");
                    $date = mysql_result($Result3,$i,"date");
                    $newstitel = mysql_result($Result3,$i,"newstitel");
                    $shortnews = mysql_result($Result3,$i,"shortnews");
                    $extendednews = mysql_result($Result3,$i,"extendednews");
                    $id = mysql_result($Result3,$i,"id");
                    ?>
              <table width="557" border="0" align="center" cellpadding="0" cellspacing="4">
                <tr> 
                  <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><? echo("<b>$newstitel</b>"); ?> 
                    geschrieben am <? echo($date); ?> von <? echo("<a href=mailto:$email>$writer</a>"); ?></font></td>
                </tr>
                <tr> 
                  <td> 
                    <?
                            echo("$shortnews<br>$extendednews");            
                            ?>
                  </td>
                </tr>
                <tr> 
                  <td> <form name="form3" method="post" action="index.php?action=writecomment&id=<? echo($i); ?>">
                      <br>
                      <table width="422" border="0" align="center" cellpadding="0" cellspacing="3">
                        <tr> 
                          <td colspan="2"><font size="2"><strong>Kommentar schreiben:</strong></font></td>
                        </tr>
                        <tr> 
                          <td colspan="2">&nbsp;</td>
                        </tr>
                        <tr> 
                          <td width="87"><font size="2">Name:</font></td>
                          <td width="335"><input name="name" type="text" id="name"></td>
                        </tr>
                        <tr> 
                          <td><font size="2">E-Mail:</font></td>
                          <td><input name="email" type="text" id="email"></td>
                        </tr>
                        <tr> 
                          <td valign="top"><font size="2">Kommentar:</font></td>
                          <td><textarea name="comment" cols="25" rows="8" id="comment" maxlength="200"></textarea></td>
                        </tr>
                        <tr> 
                          <td colspan="2"><input type="hidden" name="newsid" value="<? echo($id); ?>"></td>
                        </tr>
                        <tr> 
                          <td colspan="2"><div align="center"> 
                              <input type="reset" name="Submit22" value="Zur&uuml;cksetzen">
                              &nbsp; 
                              <input type="submit" name="Submit32" value="Kommentar schreiben">
                            </div></td>
                        </tr>
                      </table>
                    </form>
                    <?
                            $Result4 = mysql_query("SELECT * FROM lan_newscomment WHERE newsid = '$id'");
                            for($i = 0; $i < mysql_num_rows($Result4); $i++){
                                $name = mysql_result($Result4,$i,"name");
                                $email = mysql_result($Result4,$i,"email");
                                $name = mysql_result($Result4,$i,"name");
                                $comment = mysql_result($Result4,$i,"comment");
                                ?>
                    <div align="center"></div>
                    <div align="center"></div>
                    <div align="center"></div>
                    <table width="422" border="0" align="center" cellpadding="0" cellspacing="0">
                      <tr> 
                        <td bordercolor="#000000"> <table width="422" border="0" align="center" cellpadding="0" cellspacing="0">
                            <tr> 
                              <td><? echo("<b><a href=mailto:$email>$name</a></b>"); ?></td>
                            </tr>
                            <tr> 
                              <td height="19"><? echo($comment); ?></td>
                            </tr>
                          </table></td>
                      </tr>
                    </table>
                    <div align="center"><br>
                      <br>
                      <?
                            }
                        
                        ?>
                      <a href="index.php" target="_self">&lt;&lt; Zur&uuml;ck zu den 
                      News</a> <br>
                      <br>
                    </div></td>
                </tr>
              </table>
              <?
                }
            }
    ?>
    Danke im voraus!
    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht. ;-)

  • #2
    passiert wenn die id = 0 ist folgendes -> Es werden alle Newseinträge angezeigt ! Warum ?
    Gute Frage.
    Wo wird die var $i denn gesetzt?
    Ich rate mal:
    Du hast eine Schleife die den geposteten codeteil mehrmals ausführt. Und wenn id=0 ist läuft irgendwas in der schleife schief so dass be jedem durchlauf $id==$i ist. Der Fehler liegt also vermutlich da wo der var $i bzw. der var $id der wert zugewiesen wird.
    Kann aber auch sein dass ich total falsch liegt

    Kommentar


    • #3
      Komplett umständlich!!!!!!


      hier besser:

      PHP-Code:

      $news_id
      =1//<--- Wird dann per url ?news_id=1 übergeben...

      $query_news("SELECT * FROM news_table Where news_id=$news_id")

      /* ODER : $query_news("SELECT * FROM news_table ORDER by news_id DESC LIMIT 10") <-- Damit gibst du nur die 10 letzen news aus mußt nur unten anstatt if while benutzen!!*/

      // Mit der Query bekommst du NUR den newseintrag den du willst...

      if($row_news=mysql_fetch_array($query_news)
      {
           echo 
      $row_news['writer']; 
          
      // Damit kannst du dann auf die felder zugreifen....
          //hier kommt dann die Ausgabe der News
      } else echo "Keine News gefunden oder so!"
      Außerdem würde ich empfelen das du dir angewöhnst bei so längeren Codeschnipseln kommentare zu verwenden , denn ohne dauert das ewig bis man gepeilt hat was das script eigentlich macht!
      Zuletzt geändert von morten; 27.04.2004, 10:33.

      Kommentar


      • #4
        PHP case study

        I also believe that the problem in the cycle. If the cycle is 0, the cycle will run continuously.
        Zuletzt geändert von admin; 24.05.2017, 09:19.

        Kommentar

        Lädt...
        X