Kommentarfunktion in meiner Movieliste Skript

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

  • Kommentarfunktion in meiner Movieliste Skript

    Hallo Leute,
    ich les schon ein weilchen bei euch und hab auch schon einiges mitgenommen. Find es echt gut hier und da ich nun ein Problem hab wo ich nicht mehr weiter weis dacht ich, ich frag doch mal euch .

    Nun hab ich mir eine eigene Movielist gebastelt, die Daten kommen aus einem Programm, welche ich dort exportiere und dann in eine MySQL DB importiere.
    Funktioniert alles, kein problem ;-).

    Nun würde ich gern eine kommentarfunktion einbauen, so dass User einfach zu dem Film einen Kommentar schreiben können und man diese dann lesen kann. Am besten wäre es, wenn sich dazu ein kleines neues Fenster öffnet.
    Das Problem dabei ist, dass wenn ich neue Daten oder Updates einspiele immer die DB erst lösche und dann wieder schreibe, das heißt ich müsste eine zweite Tabelle benutzen und die mit der ersten, wo die Filmdaten drin stehen, verknüpfen.
    Da ist auch mein Problem, ich hab keine Ahnung wie ich das machen soll .

    Hier hab ich euch mal mein jetziges Skript angehängt, ich hoff ich könnt mir helfen .
    Sorry, dass ich das ganze Skript hier reintipp, weis aber ned was ihr genau sehen wollt oder müsst um mir helfen zu können ;-). Ich hab es so gut es ging versucht zu kürzen, dass es nicht zu breit wird.

    Dickes Dankeschön schon mal an alle wo mir hier helfen.
    PHP-Code:
    <?php
    # Datenbank Zugangsdaten
    $mysqlhost="123";
    $mysqluser="123";
    $mysqlpwd="123";
    $mysqldb="123";
      
    # Angabe, wie viel Zeilen pro Seite ausgegeben werden sollen
      
    $Zeilen_pro_Seite 25;
      
      if (!isset(
    $Anfangsposition)) {
      
    $Anfangsposition 0;
    }
      

    $connection=mysql_connect($mysqlhost$mysqluser$mysqlpwd) or die("Keine Verbindung möglich!");

    mysql_select_db($mysqldb$connection) or die("Konnte die Datenbank nicht oeffnen.");

    # Ausgabe des Suchfeldes
    echo '
    <form name="suchen" action="'
    .$PHP_SELF.'" method="post">
    <table border="0">
      <tr>
        <td width="100"><input name="suchfeld" type="text" size="10" maxlength="60" value=""><br>
            <input type="submit" name="button" value="Suchen"></td>
        <td width="400"><font color="#FF0000">Um nach einer Suche wieder die komplette Liste zu bekommen<br>
            einfach das Suchfeld leer lassen und auf "Suchen" klicken !!<br>
            Anzahl der Suchergebnisse ist auf <b>'
    .$Zeilen_pro_Seite.'</b> beschränkt.</font></td>
      </tr>
    </table>
    </form>'
    ;
    # Abfrage, ob in dem Suchfeld was steht und Datenbank Abfrage.
    if(!empty($suchfeld)) { 
            
    $suchfeld trim($suchfeld);
            
    $suchfeld str_replace(" ","%",$suchfeld);
            
    $suchfeld "%".$suchfeld."%";
            
    $result mysql_query("SELECT * FROM movies WHERE TRANSLATEDTITLE LIKE '$suchfeld
                                    ORDER BY TRANSLATEDTITLE LIMIT 
    $Anfangsposition,$Zeilen_pro_Seite"); 
            
    $Anzahl mysql_num_rows($result);
    }
    else
    {
            
    $result mysql_query("select * from movies order by TRANSLATEDTITLE limit $Anfangsposition,<br>
                                    
    $Zeilen_pro_Seite");
            
    $result1 mysql_query("select * from movies");
            
    $Anzahl mysql_num_rows($result1);
    }
    # Berechnung der Navigation oben
    echo '<div align="center">';
    if(
    $Anfangsposition 0) {
      echo 
    "<a href='index2.php?Anfangsposition=0'>[erste Seite]</a>&nbsp;";
      
    $back=$Anfangsposition-$Zeilen_pro_Seite;
      if(
    $back 0) {
        
    $back 0;
      }
      echo 
    "<a href='index2.php?Anfangsposition=$back'>[eine Seite zur&uuml;ck]</a>&nbsp;";
    }
    if(
    $Anzahl>$Zeilen_pro_Seite) {
      
    $Seiten=intval($Anzahl/$Zeilen_pro_Seite);
      if(
    $Anzahl%$Zeilen_pro_Seite) {
        
    $Seiten++;
      }
    }
    for (
    $i=1;$i<=$Seiten;$i++) {
      
    $fwd=($i-1)*$Zeilen_pro_Seite;
      echo 
    "<a href='index2.php?Anfangsposition=$fwd'>$i</a>&nbsp;";
    }
    if(
    $Anfangsposition $Anzahl-$Zeilen_pro_Seite) {
      
    $fwd=$Anfangsposition+$Zeilen_pro_Seite;
      echo 
    "<a href='index2.php?Anfangsposition=$fwd'>[eine Seite weiter]</a>&nbsp;";
      
    $fwd=$Anzahl-$Zeilen_pro_Seite;
      echo 
    "<a href='index2.php?Anfangsposition=$fwd'>[letzte Seite]</a>";
    }
    echo 
    '</div><br>';
    # Ausgabe der Daten
    echo '<table border="0" cellpadding="3" bordercolordark="#c32211" bordercolorlight="lightgrey">';
    while(
    $row mysql_fetch_assoc($result))
        {
                echo 
    '<tr><td rowspan="2"><img border="0" src="'.$row['PICTURENAME'].'" alt="
                                                '
    .$row['TRANSLATEDTITLE'].'"></td>
                            <td><strong>'
    .$row['TRANSLATEDTITLE'].'';
    # Abfrage, ob Film ausgeliehen ist oder nicht
        
    if($row['BORROWER'] != ""){
                        echo 
    '&nbsp;<font color="#FF0000">~&nbsp;AUSGELIEHEN</font>';
            }
                echo 
    '<br>Medium:&nbsp;'.$row['MEDIATYPE'].'</strong></td>
                            <td><strong>#&nbsp;'
    .$row['NUM'].'<br>'.$row['DATEADD'].'</strong></td>
                          </tr>
                          <tr><td colspan="2" valign="top">'
    .$row['DESCRIPTION'].'<br><br>
                                <strong>Kommentar:</strong><br>'
    .$row['COMMENTS'].'</td>
                          </tr>'
    ;
        }
    echo 
    '</table></div>';
    # Berechnung der Navigation unten
    echo '<div align="center">';
    if(
    $Anfangsposition 0) {
      echo 
    "<a href='index2.php?Anfangsposition=0'>[erste Seite]</a>&nbsp;";
      
    $back=$Anfangsposition-$Zeilen_pro_Seite;
      if(
    $back 0) {
        
    $back 0;
      }
      echo 
    "<a href='index2.php?Anfangsposition=$back'>[eine Seite zur&uuml;ck]</a>&nbsp;";
    }
    if(
    $Anzahl>$Zeilen_pro_Seite) {
      
    $Seiten=intval($Anzahl/$Zeilen_pro_Seite);
      if(
    $Anzahl%$Zeilen_pro_Seite) {
        
    $Seiten++;
      }
    }
    for (
    $i=1;$i<=$Seiten;$i++) {
      
    $fwd=($i-1)*$Zeilen_pro_Seite;
      echo 
    "<a href='index2.php?Anfangsposition=$fwd'>$i</a>&nbsp;";
    }
    if(
    $Anfangsposition $Anzahl-$Zeilen_pro_Seite) {
      
    $fwd=$Anfangsposition+$Zeilen_pro_Seite;
      echo 
    "<a href='index2.php?Anfangsposition=$fwd'>[eine Seite weiter]</a>&nbsp;";
      
    $fwd=$Anzahl-$Zeilen_pro_Seite;
      echo 
    "<a href='index2.php?Anfangsposition=$fwd'>[letzte Seite]</a>";
    }
    echo 
    '</div><br>';
    ?>

  • #2
    ich glaub

    ich glaube was du meinst ist join

    hm kann sein das es was für dich ist

    Kommentar


    • #3
      Hey, Dankeschön.
      Nach ewigem testen funktioniert es nun auch, allerdings hab ich noch ein Problem.
      Ich habe eine 2. Tabelle angelegt, in welche ich 2 Felder habe, "NUM" und "Bemerkung". "NUM" kann allerdings auch doppelt sein, da dieses Feld mit dem Feld "NUM" aus meiner ersten Tabelle, wo die Filme drin stehen, verknüpft ist und pro Film mehrere Kommentare bestehen können.

      Mein Problem ist nun aber, dass wenn mehr als ein Kommentar pro Film besteht der Film in meiner Liste so oft ausgegeben wird, wie Kommentare bestehen.

      Ich häng mal wieder.

      Hier meine SQL Anfrage:
      Code:
      SELECT m.*, mb.Bemerkung FROM movies AS m LEFT JOIN movies_bem AS 
      mb ON m.NUM = mb.NUM order by m.TRANSLATEDTITLE
      // EDIT:

      OK, ich habs nun hinbekommen, allerdings ganz anders gemacht.
      Ich hab eine zweite PHP Datei erstellt, wo ich die Kommentare auslese und neue eintragen kann.
      In der Movielist hab ich bei jedem Film darunter nun xx Kommentare stehen. Wenn darauf klickt kommt man in ein PopUp und es werden die Kommentare zu dem Film aufgerufen, da ich per PHP Variable die Nummer mit übergebe.
      Zuletzt geändert von cobracio; 04.10.2005, 16:49.

      Kommentar

      Lädt...
      X