SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #21  
Alt 22.05.2013, 16:21:30
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: MySQL Abfrage in einer For-Schleife

Zitat:
Zitat von sysop Beitrag anzeigen
[..]
Das nächste mal lassen wir das editieren der Posts, dann klappt das sicher etwas schneller.
So hat jeder was von Euch beiden gelernt. ;-)
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #22  
Alt 22.05.2013, 16:31:53
karla31 karla31 ist offline
Anfänger
 
Registriert seit: May 2013
Alter: 53
Beiträge: 16
AW: MySQL Abfrage in einer For-Schleife

ich hab ne kölsche tastatur :-)

sind wir jetzt alle im Eimer ??? *lach*

und ich hab schon wieder ein problem :-) *lach*

mit folgendem Code
PHP-Code:
for( $i 1$i <= $_REQUEST['anzahl']; $i ++ )
{
    
$query "SELECT * FROM `kompetenznoten` Where `thema_id` = '"$_POST["thema_id".$i]. "'  AND `note` = '"$_POST['note'.$i]."';";
    
$result MYSQL_QUERY($query);

    
        while(
$daten mysql_fetch_array($result))
        {
            
$id $daten['id'].",";
        }
    } 
bekomme ich folgende Ausgabe: 1,3,

Wenn ich die $id weiter im Script durch echo $id abfrage bekomme ich nur noch 3, angezeigt....


?????
Mit Zitat antworten
  #23  
Alt 22.05.2013, 16:46:23
raiguen raiguen ist offline
Anfänger
 
Registriert seit: Jul 2011
Alter: 71
Beiträge: 30
AW: MySQL Abfrage in einer For-Schleife

Zitat:
bekomme ich folgende Ausgabe: 1,3,
Ja hättest Du gerne, aber hiermit:
PHP-Code:
$id $daten['id'].","
überschreibst Du in der WHILE-Schleife jedesmal die Variable $id, somit steht zum Schluss letztendlich der letzte Wert von $daten['id'] drin ;)

Das 'Wunsch'ergebnis würde so besser aussehen:
PHP-Code:
$id .= $daten['id'].","
Mit Zitat antworten
  #24  
Alt 22.05.2013, 16:52:52
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: MySQL Abfrage in einer For-Schleife

Zunächst mal...
Du hast schon wieder die Fehlerquelle im Code, dass $result leer sein kann und dann Fehlermeldungen ausgibt, gewöhn dir an, $result auf Existenz abzufragen, und Fehler abzufangen, also:

PHP-Code:
for( $i 1$i <= $_REQUEST['anzahl']; $i ++ )
{
    
$query "SELECT * FROM `kompetenznoten` Where `thema_id` = '"$_POST["thema_id".$i]. "'  AND `note` = '"$_POST['note'.$i]."';";
    
$result MYSQL_QUERY($query);

    if(!
$result)
    {
       
$query." -> ergibt 0 Ergebnisse";
    }

    else
    {
        
$id = array();
        while(
$daten mysql_fetch_array($result))
        {
            
$id[] = $daten['id'];
            echo 
$daten['id'].","// sollte alle ids ausgeben;
        
}
        
$ausgabe_zeug implode(",",$id);
     }
}  

echo 
$ausgabe_zeug."<br>";
print_r($id); 
Ich rate jetzt mal und behaupte, du gibst die id nach dem letzten Schleifendurchlauf aus. Da du $id immer mit dem letzten ausgelesenen Wert füllst, wird dir auch nur der Wert deines letzten gültigen Datensatzes ausgegeben.
Der Code oben erzeugt ein array $id und füllt nach und nach dieses Array an. Nach der Schleife erzeugt es eine ausgabevariable, die alle Ergebnisse durch Kommata getrennt zusammenfasst.

Ich hoffe, das ist was du wolltest

Auch hier gillt, bitte so genau als möglich definieren, was du eigentlich haben möchtest, also wie das Ergebnis aussehen soll. Meine Glaskugel ist derzeit in der Reparatur und dich weiss ja nicht, was du sehen möchtest. :-)
__________________
Gruss sys ;-)
Ich möchte wie mein Grossvater sterben, lächelnd und schlafend, nicht schreiend und weinend, wie sein Beifahrer.
Mit Zitat antworten
  #25  
Alt 22.05.2013, 17:04:41
karla31 karla31 ist offline
Anfänger
 
Registriert seit: May 2013
Alter: 53
Beiträge: 16
AW: MySQL Abfrage in einer For-Schleife

also :-)

ich möchte die id`s getrennt durch kommas haben.... in folgendem Code

PHP-Code:
for( $i 1$i <= $_REQUEST['anzahl']; $i ++ )
{
    
$query "SELECT * FROM `kompetenznoten` Where `thema_id` = '"$_POST["thema_id".$i]. "'  AND `note` = '"$_POST['note'.$i]."';";
    
$result MYSQL_QUERY($query);

    if(!
$result)
    {
       
$query." -> ergibt 0 Ergebnisse";
    }

    else
    {
        
$id = array();
        while(
$daten mysql_fetch_array($result))
        {
            
$id[] = $daten['id'];
            echo 
$daten['id'].","// sollte alle ids ausgeben;
        
}
        
$ausgabe_zeug implode(",",$id);
     }

Ausgabe hier: 1,3,3
(Gewünscht 1,3)

um...

dann eine weitere Datenbankabfrage ermöglichen zu können.

Das $query sieht wie folgt aus:

PHP-Code:
    $query "SELECT * FROM `kompetenznoten` WHERE `id` IN ('".$ausgabe_zeug."')"
Leider wird mir hier immer die ID mit dem Wert 3 angezeit und nicht wie gewünscht ID 1, 3
Mit Zitat antworten
  #26  
Alt 22.05.2013, 17:18:07
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: MySQL Abfrage in einer For-Schleife

Very Quick und dirty könntest du das schnell so lösen:
PHP-Code:
for( $i 1$i <= $_REQUEST['anzahl']; $i ++ )
{
    
$query "SELECT * FROM `kompetenznoten` Where `thema_id` = '"$_POST["thema_id".$i]. "'  AND `note` = '"$_POST['note'.$i]."';";
    
$result MYSQL_QUERY($query);

    if(!
$result)
    {
       
$query." -> ergibt 0 Ergebnisse";
    }

    else
    {
        
$id = array();
        while(
$daten mysql_fetch_array($result))
        {
            
$id[] = $daten['id'];
            echo 
$daten['id'].","// sollte alle ids ausgeben;
        
}
        
// ja das ist doppelt richtig
        
$id array_flip($id); // tauscht den Inhalt mit index und filtert so doppelte einträge aus.
        
$id array_flip($id); // tauscht wieder inhalt und Index, daher nun alles nur noch einfach vorhanden

        
$ausgabe_zeug implode(",",$id);
     }

__________________
Gruss sys ;-)
Ich möchte wie mein Grossvater sterben, lächelnd und schlafend, nicht schreiend und weinend, wie sein Beifahrer.
Mit Zitat antworten
  #27  
Alt 22.05.2013, 17:24:30
karla31 karla31 ist offline
Anfänger
 
Registriert seit: May 2013
Alter: 53
Beiträge: 16
AW: MySQL Abfrage in einer For-Schleife

Ausgabe = 1,13,3

statt

Ausgabe= 1,3
Mit Zitat antworten
  #28  
Alt 22.05.2013, 17:25:08
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: MySQL Abfrage in einer For-Schleife

Ich antworte mir mal selber, weil das Murks ist, das geht schöner, wollte mir aber partout nicht einfallen:
PHP-Code:
for( $i 1$i <= $_REQUEST['anzahl']; $i ++ )
{
    
$query "SELECT * FROM `kompetenznoten` Where `thema_id` = '"$_POST["thema_id".$i]. "'  AND `note` = '"$_POST['note'.$i]."';";
    
$result MYSQL_QUERY($query);

    if(!
$result)
    {
       
$query." -> ergibt 0 Ergebnisse";
    }

    else
    {
        
$id = array();
        while(
$daten mysql_fetch_array($result))
        {
            
$id[] = $daten['id'];
            
// echo $daten['id'].","; // sollte alle ids ausgeben; ist aber als ausgabe überflüssig.
        
}
        
$ergebnis array_unique($id);
        
$ausgabe_zeug implode(",",$ergebnis);
     }

PS
bin für heute weg, komme morgen früh wieder.....
__________________
Gruss sys ;-)
Ich möchte wie mein Grossvater sterben, lächelnd und schlafend, nicht schreiend und weinend, wie sein Beifahrer.
Mit Zitat antworten
  #29  
Alt 22.05.2013, 17:28:41
karla31 karla31 ist offline
Anfänger
 
Registriert seit: May 2013
Alter: 53
Beiträge: 16
AW: MySQL Abfrage in einer For-Schleife

Ausgabe = 3 statt 1,3

:-)

Trotzdem danke :-)
Mit Zitat antworten
  #30  
Alt 22.05.2013, 18:22:18
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: MySQL Abfrage in einer For-Schleife

Die beiden codezeilen array_unique und das implode gehört wohl hinter die Schleife
__________________
Gruss sys ;-)
Ich möchte wie mein Grossvater sterben, lächelnd und schlafend, nicht schreiend und weinend, wie sein Beifahrer.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Brauche Hilfe Partygirl MySQLi/PDO/(MySQL) 10 01.03.2011 09:18:11
Ergebnisse aus MySQL Abfrage, obwohl Abfrage eigentlich leer mauritius MySQLi/PDO/(MySQL) 1 15.09.2010 16:16:30
MySQL Abfrage innerhalb einer Abfrage HariboGold MySQLi/PDO/(MySQL) 4 27.08.2008 18:00:28
MySQL Abfrage mit PHP darstellen? Trivio MySQLi/PDO/(MySQL) 1 18.07.2007 21:05:13
MySQL Abfrage mit PHP ausgeben, wie? PHP-MySQL-Fan MySQLi/PDO/(MySQL) 5 22.05.2006 15:47:23


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:10:36 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt