Bewertung für texte wie?

piti66

Erfahrenes Mitglied
Hey Leute,

ich möchte gern meine witze bewerten lassen! Hab ein script was witze in unterschiedliche kategorien schreibt und dann ausgibt! Jetzt will ich dass man jeden witz einzeln bewerten kann, weiß aber nicht wie ich dass bewerkstelligen soll!
Hat jemand eine idee?

mfg
 
Sind Deine Witze mit einer ID versehen?
Wenn ja ist es eigentlich recht einfach.
Du legst eine weitere Tabelle in der Datenbank an, dort speicherst Du die Bewertungen, zusammen mit der ID des jeweiligen Witzes.

Wenn Du Dir dann einen Witz aus der Datenbank holst kannst Du anhand der ID die Bewertungen auslesen.
 
aja!
was brauch ich denn alles dafür! Im moment habe ich ein script in dem ich die witze eintrage! dort bekommen sie eine id! Dann hab ich ein script was sie nach id wieder ausgibt! Dort will ich dann die Bewertung hinhaben! Unter den jeweiligen witz halt!
Also muss ich beim anlegen eines witzes immer noch eine bewertung anlegen?
Ist heut nicht mein tag! Verstehe nämlich heut garnichts!

Hier mal mein Eintragungscript:
Code:
 <SCRIPT LANGUAGE="JavaScript">
 function AddText(NewCode) {
 document.neu.inhalt.value+=NewCode
 }
 function br() {
 AddTxt="<br>";
 AddText(AddTxt);
 }
 </script>
 <h4>Witz Hinzufügen</h4>
 <hr noshade="1">
 <?
 
 $datum=time();
 
 			if($_GET["action"] =="add") {
 				if(!$_GET["submit"]) {
 					?>
 
 		    		<form action="index.php" method="get">
 					<table width="100%">
 										 <tr>
 										 	<input type="Checkbox" name="kategorie" value="1"><font>Frauen</font>
 		    			<input type="Checkbox" name="kategorie" value="2"><font>Männer</font>
 					</tr>
 					<tr>
 		    			<td width="40%" valign="top"><font>Text:</font></td>
 		    			<td width="60%"><textarea name="text" rows="5" cols="40"></textarea><br><font><A href='javascript:br();'>&nbsp;&nbsp;Zeilenumbruch</a></font></td>
 					</tr>
 					<tr>
 		    			<td width="100%" colspan="2"><input type="submit" name="submit" value="Daten speichern"><input type="Reset"></td>
 					</tr>
 					</table>
 		    		<input type="hidden" name="action" value="add">
 					</form>
 
 					<?
 				}
 				else {
 								 		include("connect.php");
 
 								 		switch ($_GET["kategorie"])
 												 {
 												 case 1:
 		    			$query="insert into witzfr (id,text,datum) values ('','".$_GET["text"]."','".$datum."');";
 		    		    $abfrage=mysql_query($query);
 		    			if($abfrage) { echo "<font>&Auml;nderungen wurden &uuml;bernommen.";
 															    echo"<p></p>";
 															    echo "<a href='index.php?action=add'>Weiteren Witz hinzuf&uuml;gern</a></font>"; }
 		    			else { echo "<font>&Auml;nderungen konnten nicht &uuml;bernommen werden.</font>"; };
 												 break;
 												 case 2:
 		    			$query="insert into witzma (id,text,datum) values ('','".$_GET["text"]."','".$datum."');";
 		    		    $abfrage=mysql_query($query);
 		    			if($abfrage) { echo "<font>&Auml;nderungen wurden &uuml;bernommen.";
 															    echo"<p></p>";
 															    echo "<a href='index.php?action=add'>Weiteren Witz hinzuf&uuml;gern</a></font>"; }
 		    			else { echo "<font>&Auml;nderungen konnten nicht &uuml;bernommen werden.</font>"; };
 												 break;
 									  		}
 									  }
 				}
 			else {
 		    	echo "<a href=\"index.php\">Hier geht's weiter !!</a>";
 			}
 				?>

Un hier mein Ausgabescript:
Code:
 				<?PHP
 
 				$anzahl=5; //Anzahl der Eintr&auml;ge pro Seite
 
 				include("connect.php");
 				$show = $_GET["show"];
 				if(!$show) {
 					$show=1;
 				}
 
 				$limit=$show*5;
 				$limitanfang=($show-1)*5;
 
 				$abfrage1=Mysql_query("select * from witzfr");
 				$number=mysql_num_rows($abfrage1);
 				?>
 				<?
 		    	$query1="select * from witzfr order by datum desc limit ".$limitanfang.",".$anzahl;
 				$abfrage2=Mysql_query($query1);
 				while($row=mysql_fetch_object($abfrage2)) {
 				$datu = getdate($row->datum);
 				$datum = $datu[mday].".".$datu[mon].".".$datu[year];
 				?>
 					 <?
 				echo $row->text;
 								 echo "<p></p>";
 				}
 				?>
 				<p>
 		    	<table width="100%" cellspacing="0" cellpadding="0" align="center">
 				<tr>
 		    		<td width="33%" valign="top" bgcolor="#ededed" align="left">
 					<?PHP
 		    		if($limitanfang > 0) { echo "<a href=\"javascript:history.back(-1)\">Vorherige Seite</a>";  }
 
 					?>
 					</td>
 		    		<td width="34%" valign="top" bgcolor="#ededed" align="center">
 					<?
 
 
 		    		echo "Seite ".$show. " von ".ceil($number/5) ;
 
 					?>
 					</td>
 		    		<td width="33%" valign="top" bgcolor="#ededed" align="right">
 					<?PHP
 					$seiten=$show+1;
 		    		if($number - $limit > 0) { echo "<a href=\"news.php?show=$seiten\">N&auml;chste Seite</a>";  }
 
 					?>
 					</td>
 				</tr>
 				</table>

Wo soll dass hin und wie? Weißt du dass?
Suche nämlich scho lange nach einer lösung!

mfg

sebastian
 
Nein, wenn Du den Witz in die DB schreibst hast Du mit den Bewertungen noch nichts zu tun.
Nur wenn jemand den Witz bewerten will musst Du halt die ID des Witzes mit der Bewertung zusammen in die Tabelle fuer die Bewertungen eintragen.
 
Achso! Also erst in der Ausgabedatei! Und wie muss das da ungefähr aussehen! Brauche wahrscheinlich ein dropdown feld mit den werten und weiter?

mfg
 
Du willst also nur eine ComboBox mit Bewertungen anbieten?
Ich dachte eine Moeglichkeit einen Kommentar dazu abzugeben.

Naja, kommt fast auf's gleiche raus.

Genau, bei der Ausgabe der Witze erstellst Du diese ComboBox, wenn jemand bewertet wird die Bewertung zusammen mit der ID des Witzes gespeichert.
Genauso wuerde es auch mit einem Kommentar laufen.
 
ja genau, dass will ich gern machen!
Weiß nur nicht genau wie
Wie soll ich dass mit der id zusammen speichern! Übergeben?
Wie müßte dass im code aussehen?

mfg
 
Wenn Du den Witz ausliest bekommst Du ja auch die ID.

Die schreibst Du in ein Hidden-Feld der Bewertungsform, sodass Du die auch beim Speichern der Bewertung hast.

Willst Du hier was fertiges gemacht kriegen oder willst Du lernen und selbst programmieren?
 
Na ich will auch lernen, aber ich weiß halt keinen anfang für die sache! Versuche schon lange was zu machen, aber es klappt nicht!

Also wie wäre es damit:

Code:
 ....
 <?
 $query1="select * from witzfr order by datum desc limit ".$limitanfang.",".$anzahl;
 $abfrage2=Mysql_query($query1);
 while($row=mysql_fetch_object($abfrage2))
  {
 	$datu = getdate($row->datum);
 	$datum = $datu[mday].".".$datu[mon].".".$datu[year];
 ?>
 <?
    echo $row->text;
    echo "<p></p>";
   <input type="Radio" name="bewertung" value="1">
   <input type="Radio" name="bewertung" value="1">
   ....
   <input type="hidden" name"id">
   <input type="submit" name="bewertung">
 
 und weiter    
  }
 ?>
 
 
 ....
 
Du kannst nicht den gleichen Namen fuer die ComboBox und den Submit-Button waehlen.
Beim Hidden-Feld musst Du noch so etwas in der Art wie
value="<?php echo $id; ?>"
einfuegen.

Dann brauchst Du noch den Code der das Uebergebene auswertet.

Ungefaehr so:
PHP:
if ($isset($_POST['submit']))
 {
  $bewertung=$_POST['bewertung'];
  $id=$_POST['id'];
  mysql_query("insert into bewertungen (bewertung,witzid) values ('$bewertung','$id')");
 }
 
Zurück