php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.08.2010, 14:02  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

var_dump dient nur zu Debugzwecken. Damit kannst du dir einen Überblick über den Inhalt deiner Variablen verschaffen.
Wie man ein Array ausliest, gehört zu den Grundlagen. Das kannst du überall im Netz nachlesen.
__________________
HalloPHP
Asipak ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.08.2010, 14:08  
Neuer Benutzer
 
Registriert seit: 30.08.2010
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Gody1989 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

aso jah das is kein problem egal ob php oder cpp ^^ habt mich mit dem var_dump nur voll verwirrt xD
Gody1989 ist offline  
Alt 31.08.2010, 14:51  
Neuer Benutzer
 
Registriert seit: 30.08.2010
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Gody1989 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

okay das mit dem kein problem streichen wir also mir ist klar das nur die Arrays gesendeet werden die angeklockt wurden und mit inset wär das auch kein problem für mich das abzufragen und dann einzufügen aba das würde die dynamik kaput machen wenn ich ein neues genre eintragen würde wird mein HTML ja selbst erweitert und bei der abfrage wär das nicht der fall ich werd noch beklopt und ich hoffe ich stresse euch nicht zu sehr das ist mein bisheriger code:

PHP-Code:
<?php

    
include ("functions.inc.php");

    
//Zum Eintragen neuer Datensätze in das Gästebuch
    
    // Prüfen, ob sich die Seite selbst Aufgerufen hat
    
if ( isset($_REQUEST["do"]) && $_REQUEST["do"] == "insert")
    {
        
// Die Seite hat sich selbst aufgerufen
        
        // Pflichtfeldkontrole
        
        
$error_msg    =    "";
        
        if( 
$_REQUEST["Titel"]=="")
        {
            
$error_msg    "Bitte geben Sie einen Titel an<br>";
        }
        
        if(
$error_msg == "")
        {
            
// Alles Okay
            
            // Zugriff auf Datenbank
            
            
mysqlconnect();
            
            
// INSERT
            
            
$query    =    "INSERT INTO film_tb (Titel, Handlung, Laenge, FSK) VALUES( ";
            
$query    .=    " '" $_REQUEST["Titel"] . "', ";
            
$query    .=    " '" $_REQUEST["Handlung"] . "', ";
            
$query    .=    " '" $_REQUEST["Laenge"] . "', ";
            
$query    .=    " '" $_REQUEST["FSK"] . "' ";
            
$query    .=    " ) " ;
            
            
// In die Datenbank eintragen
            
            
$result mysql_query($query);
            
            if( ! 
$result )
            {
                die(
"Konnte den Datensatz nicht eintragen: " mysql_error() );
            }
            
            
// wechsel auf index
            
            
header("location: index.php");
            die;
            
        }
        
    }

?>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="de">

<head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
    <meta name="language" content="de"/>
    
    <title>Filmdatenbank</title>
    <link rel="stylesheet" type="text/css" href="css/alles.css" media="screen, projection" />
</head>

    <body>
    <div id="alles">
    
    <div id="header">
    <!-- header --></div>
    
    <div id="körper">
            
                <div id="nav">
            
                <?php 
                    
include "nav.php";
                
?>
                
                <!-- nav --></div>
                
                    <div id="inhalt">
                    
                    <h1 class="mitte"> | Film Eintragen | </h1>
                    
                    <form action="<?php echo $_REQUEST["PHP_SELF"]; ?>" method="POST">
                    <p>
                            <p>
                            <h3>Titel</h3>
                            
                            <p>Titel:&nbsp;<input name="Titel" maxlength="255" size="40"></p>
                            </p>

                            <p>    
                                <h3>Genre</h3>
                                    
                                    <?php
                                    
                                        
// DB-Verbindung
                                        
mysqlconnect();
                                        
                                        
// SQL-Abfrage Ausführen
                                        
$res mysql_query("select * from genre_tb");
                                        
                                        
// Anzahl der Datensätze bestimmen
                                        
$num mysql_num_rows($res);
                                        
                                        
// Datensätze ermitteln, im Array speichern und ausgeben
                                        
while ($dsatz mysql_fetch_assoc($res))
                                        {
                                            echo 
'<p><input type="checkbox" name="genre[ ' $dsatz["Genre_ID"] . ' ]" value=" ' $dsatz["Genre_ID"] . ' " /> ' $dsatz["genre"] . ' </p>';
                                        }  
                                        
                                    
?>  
                                    
                            </p>
    
                            <p>
                                <h3>Handlung</h3>
                        
                                <p><textarea name="Handlung" cols="70" rows="20"></textarea></p>
                            </p>
    
                            <p>
                                <h3>L&auml;nge</h3>
                
                                <p>L&auml;nge&nbsp;<input name="Laenge" size="4" maxlength="3" />&nbsp;in Minuten</p>
                            </p>
    
                            <p>
                                <h3>Altersfreigabe</h3>
        
                                <p><select name="FSK">
                                    <option value="0">
                                    0 </option>
                                    <option value="6">
                                    6 </option>
                                    <option value="12">
                                    12 </option>
                                    <option value="16">
                                    16 </option>
                                    <option value="18">
                                    18 </option>
                                    </select>&nbsp;FSK</p>
                            </p>
                            <input type="hidden" name="do" value="insert">
                            <input type="submit" value="Senden" /><input type="reset" />
                    </p>
                    
                    <p></p>
                    
                    </form>
                    
                    
                    <!-- inhalt --></div>
                        
                    <p class="boden">&copy; 2010 - Patrick Grygier | Filmdatenbank</p>
                        
    <!-- körper --></div>
                        
    <!-- alles --></div>
    </body>
</html>
Wie schreibe ich das oben bei INSERT jetzt so das die genred in die zwischen tabelle mit der id des Filmes gespeichert werden?

und ich hoffe ich kann das Thema hiernach schließen =)
Gody1989 ist offline  
Alt 31.08.2010, 15:07  
Erfahrener Benutzer
 
Registriert seit: 13.05.2009
Beiträge: 1.132
PHP-Kenntnisse:
Fortgeschritten
dennis81 befindet sich auf einem aufstrebenden Ast
Standard

Beispiel! Ich habe hier keine Rücksicht auf irgendwelche Validierungen genommen:

PHP-Code:
<?php


//Erst einmal den Film einfügen, dann hast du ja auch schon die Film-ID. Meinetwegen auch als Objekt
//z.B.: $film->id


$genres $_POST['genres'];

$sql 'INSERT INTO film_genre (film_id, genre_id) VALUES ';

for ( 
$i=0$i count($genres); $i++ ) {
    
$sql.= " ( {$film->id}, {$genres[$i]} ) ";
    
    if ( 
$i count($genres) - ) {
        
$sql.= ', ';
    }
}

//$sql ausführen

?>
__________________
Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)
dennis81 ist offline  
Alt 31.08.2010, 15:12  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.849
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Wolla Beitrag anzeigen
Gespeichert wird das ganze so:
Zuerst die Filmdaten in die tabelle Film_tb. Die vergebene ID mit mysql_insert_id() abholen und dann den Array $_POST['genre'] mit diser ID in die dritte Tabelle schreiben.
Dein Script wird abbrechen, wenn eins der Eingabefelder z.B. ein Hochkomma enthält, z.B. Titel = 'Roesemary's Baby". Lies mal dazu z.B.: PHP: mysql_real_escape_string - Manual
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
Alt 31.08.2010, 19:58  
Neuer Benutzer
 
Registriert seit: 30.08.2010
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Gody1989 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bekomm das net so ganz hin:

PHP-Code:
//----------------------------------------------------------------------------
    
//Erst einmal den Film einfügen, dann hast du ja auch schon die Film-ID. Meinetwegen auch als Objekt
//z.B.: $film->id


$genre $_REQUEST['genre'];

$sql "INSERT INTO film_genre (ID_Film, ID_Genre) VALUES( ";

for ( 
$i=0$i count($genre); $i++ ) {
$sql.= " ( {$Film_ID}, {$genre[$i]} ) ";
    
if ( 
$i count($genre) - 
{
$sql.= ', ';
}
}    

//------------------------------------------------------------------------ 
keine Fehlermeldung aba leider auch kein ergebnis
Gody1989 ist offline  
Alt 31.08.2010, 20:04  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Debugging:SQL - PHP.de Wiki
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 31.08.2010, 20:42  
Neuer Benutzer
 
Registriert seit: 30.08.2010
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Gody1989 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

jah habs au mit debuggen probiert -.-

PHP-Code:
//Film eintragen
            
$query    =    "INSERT INTO film_tb (Titel, Handlung, Laenge, FSK) VALUES( ";
            
$query    .=    " '" $_REQUEST["Titel"] . "', ";
            
$query    .=    " '" $_REQUEST["Handlung"] . "', ";
            
$query    .=    " '" $_REQUEST["Laenge"] . "', ";
            
$query    .=    " '" $_REQUEST["FSK"] . "' ";
            
$query    .=    " ) " ;
            
            
$Film mysql_insert_id();
            
            
// Genre eintragen
            
            //----------------------------------------------------------------------------
            
            //Erst einmal den Film einfügen, dann hast du ja auch schon die Film-ID. Meinetwegen auch als Objekt
            //z.B.: $film->id
            
echo $Film;     

            
$genre $_REQUEST['genre'];

            
$sql "INSERT INTO film_genre (ID_Film, ID_Genre) VALUES( ";

            for ( 
$i=0$i count($genre); $i++ ) {
            
$sql.= " {$Film}, {$genre[$i]} ";
            
            if ( 
$i count($genre) - 
            {
            
$sql.= ', ';
            }
            }    
            echo 
$sql
das Problem ist das bei
PHP-Code:
$Film mysql_insert_id(); 
immer 0 raus kommt wenn ich das ausgeben Lasse und dann bricht der sofort ab ergebnis also

0 /*von der funktion*/ INSERT INTO film_genre (ID_Film, ID_Genre) VALUES( 0, /*hier bricht er dann ab*/
Gody1989 ist offline  
Alt 31.08.2010, 20:44  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Zu dem Zeitpunkt hast du ja auch noch keine Datenbankabfrage gesendet.
__________________
HalloPHP
Asipak ist offline  
Alt 31.08.2010, 20:49  
Neuer Benutzer
 
Registriert seit: 30.08.2010
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Gody1989 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

doch das ergebnis habe ich nach dem absenden und alles von Filmeintragen also Titel Laenge und so ist auch in der tabelle zu finden nur die Genres gehen nicht
Gody1989 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Filmdatenbank &amp; PHP OOP Lifestyle PHP Tipps 2010 13 19.08.2010 00:53
filmdatenbank suche PHP Tipps 2006 7 08.02.2006 14:59
[Erledigt] testdaten einer filmdatenbank Datenbanken 0 19.01.2005 22:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
film datenbank in html, php filmdatenbank, html filmdatenbank, php film datenbank, style sheet film datenbank, filmdatenbank content, php film datenbank klasse, filmdatenbank goethe, filmdatenbank css

Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum