php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 18-05-2005, 19:34
druckgott
 Junior Member
Links : Onlinestatus : druckgott ist offline
Registriert seit: Mar 2004
Beiträge: 105
druckgott ist zur Zeit noch ein unbeschriebenes Blatt
Standard [SQL allgemein] Problem mit Mysql Datenbank in verbindung mit PHP

Hallo ich habe ein Problem und zwar hab ich jetzt ein script geschrieben, dass mir die Cocktails herausfillter wo eine Zutat vorhanden ist jetzt gibt er aber alle aus wo die Zutat vorhanden ist. Jetzt will ich, das er mir nur die ausgibt, wo alle Zutaten vorhanden sind also wenn ich z.B. Vodka und Bull habe nur die ausgibt die auch nur! Vodka und Bull haben also nicht die die Vodak und Bull drin haben .

Also mein Script sieht bis jetzt so aus:

PHP-Code:
<?php



@error_reporting(7);

/** connect db **/

require("config.inc.php");

require(
"class_db.php");

$db = new db($mysqlhost,$mysqluser,$mysqlpassword,$mysqldb);

$id1=1//die ID des ausgewählten cocktails, z.B. über $_GET erhalten

$res mysql_query("SELECT 
zutat_id AS zId,
zutat_name AS zName,
cocktail_id AS cId,
cocktail_name AS cName
FROM zutat_mehr
LEFT  JOIN cocktailZutaten_mehr ON ( zutat_id = cocktailZutaten_mehr.z1_zutatId) 
LEFT  JOIN cocktail_mehr ON ( cocktail_id = cocktailZutaten_mehr.cocktailId ) 
WHERE zutat_id ='"
.mysql_escape_string($id1)."'");

$firstRow=true//Hilfsvariable
$data=array();//damit es auch nach der Schleife noch existiert
while ($row=mysql_fetch_assoc($res)) {
    
$data=$row;
    if (
$firstRow) {
        
$firstRow=false;
        echo 
"<h2>Zutat:</h2>";
        echo 
"".$row['zName']."";
        echo 
"<h2>Cocktail:</h2>";
        echo 
"<ul>";
    }
    echo 
"<li>".$row['menge']." ".$row['cName']."</li>";
}

?>

Hier mal noch die Tabellen zur orientierung

cocktailZutaten_mehr:
PHP-Code:
#
# Tabellenstruktur für Tabelle `cocktailZutaten_mehr`
#

CREATE TABLE `cocktailZutaten_mehr` (
  `
cocktailIdint(4NOT NULL auto_increment,
  `
z1_zutatIdint(4NOT NULL default '0',
  `
z2_zutatIdint(4NOT NULL default '0',
  
PRIMARY KEY  (`cocktailId`),
  
KEY `name` (`z1_zutatId`)
TYPE=MyISAM AUTO_INCREMENT=;

#
# Daten für Tabelle `cocktailZutaten_mehr`
#

INSERT INTO `cocktailZutaten_mehrVALUES (112);
INSERT INTO `cocktailZutaten_mehrVALUES (232); 

cocktail_mehr:
PHP-Code:
#
# Tabellenstruktur für Tabelle `cocktail_mehr`
#

CREATE TABLE `cocktail_mehr` (
  `
cocktail_idint(4NOT NULL auto_increment,
  `
cocktail_namevarchar(255NOT NULL default '',
  `
cocktail_rezeptvarchar(255NOT NULL default '',
  `
cocktail_kommentarvarchar(255NOT NULL default '',
  
PRIMARY KEY  (`cocktail_id`),
  
KEY `rezept` (`cocktail_name`)
TYPE=MyISAM AUTO_INCREMENT=;

#
# Daten für Tabelle `cocktail_mehr`
#

INSERT INTO `cocktail_mehrVALUES (1'Vodka Bull''2''der Kommentar');
INSERT INTO `cocktail_mehrVALUES (2'Gin Tonic''2''das ist der kommentar'); 

zutat_mehr:

PHP-Code:
#
# Tabellenstruktur für Tabelle `zutat_mehr`
#

CREATE TABLE `zutat_mehr` (
  `
zutat_idint(4NOT NULL auto_increment,
  `
zutat_namevarchar(100NOT NULL default '',
  `
zutat_infovarchar(100NOT NULL default '',
  
PRIMARY KEY  (`zutat_id`),
  
KEY `name` (`zutat_name`)
TYPE=MyISAM AUTO_INCREMENT=;

#
# Daten für Tabelle `zutat_mehr`
#

INSERT INTO `zutat_mehrVALUES (1'Bull''hier die Info');
INSERT INTO `zutat_mehrVALUES (2'Gin''keine');
INSERT INTO `zutat_mehrVALUES (3'Saft'''); 
Ich hoffe es kann mir jemand helfen! da ich leider von mysql nicht so die Megaahnung habe währe echt super

mfg
druckgott
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 18-05-2005, 20:09
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

suche benutzt?

http://www.php-resource.de/forum/sea...der=descending
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #3 (permalink)  
Alt 18-05-2005, 20:10
Shurakai
 Master
Links : Onlinestatus : Shurakai ist offline
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.084
Shurakai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

AND?
Mit Zitat antworten
  #4 (permalink)  
Alt 18-05-2005, 23:36
druckgott
 Junior Member
Links : Onlinestatus : druckgott ist offline
Registriert seit: Mar 2004
Beiträge: 105
druckgott ist zur Zeit noch ein unbeschriebenes Blatt
Standard

habe das jetzt mal zusammengebaut

PHP-Code:
SELECT
cocktail_id 
AS cID,
cocktail_name AS cName
FROM cocktail_mehr
LEFT JOIN cocktailzutaten_mehr 
AS cz1
 ON 
(cz1.cocktailId=cocktail_mehr.cocktail_id)
WHERE (
cz1.z1_zutatId IN 
    
(SELECT zutat_id FROM zutat_mehr 
    WHERE zutat_name LIKE 
'Gin' OR zutat_name LIKE 'Bull' )
 AND
 
cz1.z2_zutatId IN 
    
(SELECT zutat_id FROM zutat_mehr 
    WHERE zutat_name LIKE 
'Gin' OR zutat_name LIKE 'Bull' )) 
aber irgendwie haut das noch nicht ganz hin
Mit Zitat antworten
  #5 (permalink)  
Alt 19-05-2005, 00:16
Coragon Rivito
 Master
Links : Onlinestatus : Coragon Rivito ist offline
Registriert seit: Oct 2002
Ort: Mils/AT
Beiträge: 908
Coragon Rivito ist zur Zeit noch ein unbeschriebenes Blatt
Coragon Rivito eine Nachricht über ICQ schicken Coragon Rivito eine Nachricht über AIM schicken Coragon Rivito eine Nachricht über Yahoo! schicken
Standard

.. und was wenn du 3 oder mehrere zutaten hast ?

freunde dich mal mit

- IN() vergleichsoperator (mysql: http://dev.mysql.com/doc/mysql/de/co...html#id2609758)

- implode() (php: http://de.php.net/implode)

.. an =D
__________________
mfg,
Coragon
Mit Zitat antworten
  #6 (permalink)  
Alt 19-05-2005, 08:09
druckgott
 Junior Member
Links : Onlinestatus : druckgott ist offline
Registriert seit: Mar 2004
Beiträge: 105
druckgott ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich will das ganze dann mit bis zu 15 Zutaten machen aber das müsste ja dann nicht so schwer sein das zu erweitern ist ja dann vom prinzip her genau gleich denke ich mal oder???
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

21.10.2020 Berni | Kategorie: PHP/ Anzeigenmarkt
Sendeplan Script inkl. Wunsch- und Grußbox + Kick-System + Bewerbungssystem

Das professionelle Sendeplan PHP Script inkl. Wunsch- und Grußbox + Kick-System für dein Webradio. Der übersichtliche Sendeplan bietet deinen Moderatoren und Zuhörern die perfekte Übersicht der aktuellen Shows! Du kannst nicht nur Sendungen eintragen, s

20.10.2020 drcomputer | Kategorie: PHP/ Web Radio
Newsmanager 2

Der Newsmanager 2 ist sehr Vielfältig und kann News schreiben, Newsletter versenden und RSS Feeds in einem erzeugen.

20.10.2020 Stephan_1972 | Kategorie: PHP/ News
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:41 Uhr.