Problem beim Forum-ScriptForum » Webzone » PHP & MySQL » Problem beim Forum-Script
-
16.08.2009 um 16:42 Uhr
Huhu Leute,
ich muss euch leider wieder mal mit einem Problem belstigen...
Also, ich bin webby auf Lini-graphics.de und Lini hatte mich gefragt, ob ich ihr nicht helfen knnen bei einem Forumscript, da die Avas von den User nicht angezeigt werden.
Naja, ich hatte was versucht, aber scheinte nicht funktioniert zu haben.
Erstmal der Script der von dieser Seite stand.
<?php $abfrage = "SELECT id, topic, view, reply, email, datetime FROM forum_question ORDER BY id DESC"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) $tbl_name="forum_question"; // Table name // get value of id that sent from address bar $id=$_GET['id']; $sql="SELECT * FROM $tbl_name WHERE id='$id'"; $result=mysql_query($sql); $rows=mysql_fetch_array($result); ?> <h2>Lini-Graphics - <? echo $rows['topic']; ?></h2> <table border="0" width="100%"> <tr> <td><table border="0" width="100%"> <tr> <td width="100"> Ava von user </td> <td> <table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td><table width="100%" border="0" cellpadding="3" cellspacing="1" bordercolor="1" bgcolor="#FFFFFF"> <tr> <td bgcolor="#F8F7F1"><? echo $rows['detail']; ?></td> </tr> <tr> <td bgcolor="#F8F7F1"><strong>By :</strong> <? echo $rows['name']; ?></td> </tr> <tr> <td bgcolor="#F8F7F1"><strong>Date/time : </strong><? echo $rows['datetime']; ?></td> </tr> </table></td> </tr> </table> </td> </tr> </table> </td> </tr> </table> <BR> <?php $tbl_name2="forum_answer"; // Switch to table "forum_answer" $sql2="SELECT * FROM $tbl_name2 WHERE question_id='$id'"; $result2=mysql_query($sql2); while($rows=mysql_fetch_array($result2)){ ?> <table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td><table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"> <tr> <td bgcolor="#F8F7F1"><strong>ID</strong></td> <td bgcolor="#F8F7F1">:</td> <td bgcolor="#F8F7F1"><? echo $rows['a_id']; ?></td> </tr> <tr> <td width="18%" bgcolor="#F8F7F1"><strong>Name</strong></td> <td width="5%" bgcolor="#F8F7F1">:</td> <td width="77%" bgcolor="#F8F7F1"><? echo $rows['a_name']; ?></td> </tr> <tr> <td bgcolor="#F8F7F1"><strong>Answer</strong></td> <td bgcolor="#F8F7F1">:</td> <td bgcolor="#F8F7F1"><? echo $rows['a_answer']; ?></td> </tr> <tr> <td bgcolor="#F8F7F1"><strong>Date/Time</strong></td> <td bgcolor="#F8F7F1">:</td> <td bgcolor="#F8F7F1"><? echo $rows['a_datetime']; ?></td> </tr> </table></td> </tr> </table><br> <? } $sql3="SELECT view FROM $tbl_name WHERE id='$id'"; $result3=mysql_query($sql3); $rows=mysql_fetch_array($result3); $view=$rows['view']; // if have no counter value set counter = 1 if(empty($view)){ $view=1; $sql4="INSERT INTO $tbl_name(view) VALUES('$view') WHERE id='$id'"; $result4=mysql_query($sql4); } // count more value $addview=$view+1; $sql5="update $tbl_name set view='$addview' WHERE id='$id'"; $result5=mysql_query($sql5); ?> <h2>Antwort schreiben</h2> <BR> <table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <form name="form1" method="post" action="?page=add_answer"> <td> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"> <tr> <td width="18%"><strong> </strong></td> <td width="3%"></td> <td width="79%"> <?php session_start(); if(isset($_SESSION["login"])) { refresh($_SESSION["login"]); $abfrage = "SELECT * FROM mitglieder WHERE id = '".$_SESSION["login"]."' "; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo "<input STYLE='display:none' class='box' type='text' name='a_name' value='$row->name'>"; } } ?></td> </tr> <tr> <td><strong> </strong></td> <td> </td> <td><?php session_start(); if(isset($_SESSION["login"])) { refresh($_SESSION["login"]); $abfrage = "SELECT * FROM mitglieder WHERE id = '".$_SESSION["login"]."' "; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo "<input STYLE='display:none' class='box' type='text' name='a_email' value='$row->id'>"; } } ?></td> </tr> <tr> <td valign="top"><strong>Antworten</strong></td> <td valign="top">:</td> <td><textarea class=box name="a_answer" cols="45" rows="3" id="a_answer"></textarea></td> </tr> <tr> <td> </td> <td><input name="id" type="hidden" value="<? echo $id; ?>"></td> <td><input class=box type="submit" name="Submit" value="Submit"> <input class=box type="reset" name="Submit2" value="Reset"></td> </tr> </table> </td> </form> </tr> </table>
Der Platzhalter fr die Avas ist da.
Was Lini und Ich versucht hatte:
<?php if(value("mitglieder WHERE id = '".$_SESSION["login"]."'","bild") != "") { ?> <img src="bilder/<?= $_SESSION["login"] ?><?= value("mitglieder WHERE id = '".$_SESSION["login"]."'","bild") ?>" border="0" alt="" /> <?php } else { <img src='bilder/noava.jpg' border='0' alt='' /> }?>
= "SELECT t1.email, t2.id, t2.bild FROM forum_question AS t1, mitglieder AS t2 WHERE t1.id = t1.'$email' AND t2.bild = t1.id ";
<?php $abfragen="SELECT t1.email, t1.name, t2.bild FROM forum_question as t1, mitglieder as t2 WHERE t1.email = '$email' and t1.name = '$name' and t2.bild = '$email' ORDER BY t1.name ASC"; $ziel=mysql_query($abfragen); $row=mysql_fetch_array($ziel); echo $row['t2.bild']; ?>
Naja, auf jeden Fall ist Lini schon total verzweifelt und ich als PHP-Anfnger erst recht., gerade weil auch kein error angezeigt wird.
Die Tabelle wo man die Bilder herbekommt heit : mitglieder und die Spalte bild
Ich hoffe ihr knnt uns da weiterhelfen, wre zu mindestens toll und echt nett. Und wenn noch irgendwie fragen sind, dann fragt.
LG Katjana
Der Beitrag wurde insgesamt 2 mal editiert, zuletzt 16.08.2009 um 16:49 Uhr ... -
17.08.2009 um 10:08 Uhr
Hallo,
du hast ne Tabelle 'mitglieder', in der die Daten der User stehen und bei jedem Foreneintrag muss Name und Email angegeben werden?
Schwachsinn, das kostet doch nur unnoetigen Platz ...
Sinnvoller waere, wenn du einfach ne Spalte user_id anlegst, welche mit der id des Users bestueckt wird, anstatt Name und Email zu speichern, so hast du pro Tabelle eine Spalte weniger.
Und dann kannst du einfach abfragen$query = mysql_query("SELECT name, email, bild FROM mitglieder WHERE id='$user_id'");
Liebe Gruesse
Alice
... { signatur } ... -
17.08.2009 um 11:46 Uhr
Danke, ich gib es an Lini weiter, aber funktioniert dann auch die Ausgabe des Avas?
-
17.08.2009 um 15:31 Uhr
Wenn Pfad und DB-Abfrage korrekt sind,
sollte die Sache mit dem Ava funktionieren,
egal ob nun meine vorgeschalgenen Aendernungen vorgenommen werden oder nicht
Der Beitrag wurde insgesamt 1 mal editiert, zuletzt 17.08.2009 um 15:32 Uhr ...... { signatur } ... -
22.08.2009 um 17:20 Uhr
Danke nochmal fr deine Hilfe. Aber wenn ich Lini richtig verstanden habe hat sie nun doch nochmal was anderes versucht und es funktioniert.