php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.01.2012, 15:37  
Benutzer
 
Registriert seit: 09.01.2012
Beiträge: 41
PHP-Kenntnisse:
Anfänger
Riddler befindet sich auf einem aufstrebenden Ast
Standard Zwei while-Schleifen vergleichbar !?

Hallo,

ich habe zwei while schleifen gebastelt und möchte die ausgabe beider miteinander vergleichen.ist das möglich !?

PHP-Code:
while ($row mysqli_fetch_assoc($result3))
            {
            
$zeilen[] = $row;
            }
            foreach (
$zeilen as $a)
            {
                echo 
$a['Projekt']."<br /> ";
            }
#---------------------------------------------------------------------
            
while ($row2 mysqli_fetch_assoc($result2))
            {
            
$zeilen2[] = $row2;
            }
            foreach (
$zeilen2 as $b)
            {
                echo 
$b['Projekt']."<br /> ";
            } 
Die erste Schleife gibt 4 projekte wieder, die einem mitarbeiter zugeordnet sind. Die zweite gibt alle projekte einer Datenbank aus.

Jetzt will ich einfach ausgedrückt $a mit $b vergleichen, denn die 4 Projekte aus $a sind in $b enthalten...
geht das irgendwie ????

Danke im voraus
Riddler ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.01.2012, 15:44  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi,

wie sieht dein SQL Statement jeweils aus? Habe so den verdacht, dass man das gleich über's Statement machen kann.

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 19.01.2012, 18:08  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das ist ne ganz üble Idee.

1. Hat Wolf recht.
2. Funktioniert das ganze auch gar nicht mehr im 2 Lauf der äußeren Schleife
3. außer mit einem reset des Fetch-Counters, was noch üblerer Stil wäre.

Also bitte in JOINs einlesen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 20.01.2012, 14:45  
Benutzer
 
Registriert seit: 09.01.2012
Beiträge: 41
PHP-Kenntnisse:
Anfänger
Riddler befindet sich auf einem aufstrebenden Ast
Standard

Hier ist mal mein kompletter code (funktion)

PHP-Code:
function login()
{
include("config.inc.php");
        $loguser=$_POST['mitarbeiter'];
        $logpwd=$_POST['pwd'];

        $connect=mysqli_connect($dbhost, $dbuser,$dbpw, $db);
        $sql="SELECT m.Mitarbeiter,m.MitarbeiterID,m.Passwort,p.Projekt FROM tblMitarbeiter m,tblProjekt p WHERE Mitarbeiter='$loguser' AND Passwort=md5('$logpwd')";
        $sql2="SELECT Projekt FROM tblProjekt";

        $result=mysqli_query($connect,$sql);
        $result2=mysqli_query($connect,$sql2);

        $zeile=mysqli_fetch_assoc($result);
        $zeile2=mysqli_fetch_assoc($result2);

        if(md5($logpwd)==$zeile['Passwort'])
        {
            $_SESSION['user']=$zeile['Mitarbeiter'];
            $_SESSION['userID']=$zeile['MitarbeiterID'];

            $sql3=" SELECT
                tblMitarbeiter.Mitarbeiter,
                tblMitarbeiter.MitarbeiterID,
                tblProjekt.Projekt,
                tblProjekt.ProjektID
                FROM
                tblMitarbeiter LEFT JOIN tblMitarbeiterProjekt ON tblMitarbeiter.MitarbeiterID = tblMitarbeiterProjekt.MitarbeiterID
                LEFT JOIN tblProjekt ON tblMitarbeiterProjekt.ProjektID = tblProjekt.ProjektID WHERE tblMitarbeiter.MitarbeiterID=".$_SESSION['userID']."";
            $result3=mysqli_query($connect,$sql3);

            while ($row = mysqli_fetch_assoc($result3))
            {
            $zeilen[] = $row;
            }
            foreach ($zeilen as $a)
            {
                #echo $a['Projekt']."<br /> ";
            }
#---------------------------------------------------------------------
            while ($row2 = mysqli_fetch_assoc($result2))
            {
            $zeilen2[] = $row2;
            }
            foreach ($zeilen2 as $b)
            {
                #echo $b['Projekt']."<br /> ";
            }

        }
        else
        {
            ?>
            <script type="text/javascript">alert('Falscher Benutzername/Keine Schreibrechte')</script>
            <?php
        
}
}
warum der code nicht farblich ist...kein plan ^^
is der ansatz schon blöd ? also beide schleifen geben exakt aus ,was ich will, nur der vergleich muss irgendwo rein leider...
Riddler ist offline   Mit Zitat antworten
Alt 20.01.2012, 15:29  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

- Weil Du [php]-Tags verwenden musst
- Ja der Ansatz ist blöd. Liest Du überhaupt unsere Antworten?
- Zu Login-Scripten wurde hier im Forum auch schon mehr als genug geschrieben.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 20.01.2012, 16:07  
Benutzer
 
Registriert seit: 09.01.2012
Beiträge: 41
PHP-Kenntnisse:
Anfänger
Riddler befindet sich auf einem aufstrebenden Ast
Standard

ja habe ich gelesen, aber geht hier auch nicht wirklich um ein login, sondern darum, das ein mitarbeiter, gewisse projekte zugewiesen bekommen hat, dies auch so in der datenbank vermerkt ist. jetzt möchte ich , das wenn ein mitarbeiter sich einloggt, nur auf seine gewissen projekte zugriff hat, daher die abfrage der projekte und die etwas kompliziertere abfrage, wo man erkennt, welcher mitarbeiter welches projekt hat.

nun will ich die beiden ergebnisse vergleichen und !ß wie soll ich das denn in der sql schon machen ? oder umschreiben ???
Riddler ist offline   Mit Zitat antworten
Alt 20.01.2012, 16:09  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Also bitte in JOINs einlesen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 20.01.2012, 16:11  
Benutzer
 
Registriert seit: 09.01.2012
Beiträge: 41
PHP-Kenntnisse:
Anfänger
Riddler befindet sich auf einem aufstrebenden Ast
Standard

Verstehe das nicht ? Wie in joins ???
Riddler ist offline   Mit Zitat antworten
Alt 20.01.2012, 16:14  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das Händchen halten werde ich Dir hier nicht. Lerne Manuals zu lesen und Google zu bedienen.

http://www.php.de/php-einsteiger/489...nsammlung.html (Lerne Grundlagen | Quellensammlung)
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 20.01.2012, 16:18  
Benutzer
 
Registriert seit: 09.01.2012
Beiträge: 41
PHP-Kenntnisse:
Anfänger
Riddler befindet sich auf einem aufstrebenden Ast
Standard

Ich weiss was JOINs sind, aber ich verstehe nicht wie ich da was mit Joins machen soll ! Die eine Abfrage besteht ja aus JOINs.

praktisch gesehen brauche ich ja nichtmal 2 Abfragen. Das war nur eine Idee.Diese Abfrage:

PHP-Code:
$sql3=" SELECT
                tblMitarbeiter.Mitarbeiter,
                tblMitarbeiter.MitarbeiterID,
                tblProjekt.Projekt,
                tblProjekt.ProjektID
                FROM
                tblMitarbeiter LEFT JOIN tblMitarbeiterProjekt ON tblMitarbeiter.MitarbeiterID = tblMitarbeiterProjekt.MitarbeiterID
                LEFT JOIN tblProjekt ON tblMitarbeiterProjekt.ProjektID = tblProjekt.ProjektID WHERE tblMitarbeiter.MitarbeiterID="
.$_SESSION['userID'].""
und diese ausgabe:

PHP-Code:
while ($row mysqli_fetch_assoc($result3))
            {
            
$zeilen[] = $row;
            }
            foreach (
$zeilen as $a)
            {
                echo 
$a['Projekt']."<br /> ";
            } 
liefert mir genau das was ich will !! Vielelicht formuliere ich es nur blöd.

Ich möchte jetzt das der Mitarbeiter der eingelogt ist auch nur auf diese (es sind in dem fall 4 Projekte) zugriff hat.

Prinzipiell sollte es ausgedrückt heissen:

benutzer X darf editieren diese 4 projekte.
Riddler ist offline   Mit Zitat antworten
Antwort


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
2 while schleifen geschachtelt falsche ausgabe goodie PHP Einsteiger 2 07.12.2010 14:52
DB_abfragen und While Schleifen magicdj PHP Tipps 2010 18 08.06.2010 14:04
while in while schleife patrick146 PHP Tipps 2010 13 08.02.2010 16:41
Schleifen, Schleifen, Schleifen... frank-ae PHP Tipps 2010 1 30.01.2010 19:35
[Erledigt] while() in while() Italo PHP Tipps 2009 16 29.06.2009 21:04
zwei while schleifen mit unterschiedlichen mysql tabellen mygov PHP Tipps 2009 12 01.01.2009 14:32
[Erledigt] If in einer While schleifen RedDragon PHP Tipps 2008 16 20.07.2008 20:02
schleifen problem amsele1986 PHP Tipps 2008 3 21.06.2008 17:45
HTML und while schleifen. vale PHP Tipps 2006 1 17.06.2006 21:08
while schleife in einer while schleife beim tmpl-sys PHP Tipps 2005-2 0 27.07.2005 15:07
2 verschachtelte while Schleifen. Großes Performanceproblem Datenbanken 3 30.05.2005 12:52
While Schleifen Problem PHP Tipps 2005 9 22.05.2005 22:35
While Schleifen PHP Tipps 2005 9 22.04.2005 13:04
while schleifen ($dsatz=mysql_fetch_assoc($abfrage1) stefan-miti PHP Tipps 2004 5 23.09.2004 20:46
While schleifen problem PHP Tipps 2004 8 19.09.2004 17:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:40 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