mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 15:25 Benutzername: Passwort: Auto-Login

Thema: PHP Variablen Problem. vom 14.02.2013


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP Variablen Problem.
Seite: 1, 2  Weiter
Autor Nachricht
vali97
Threadersteller

Dabei seit: 10.10.2012
Ort: Bockenau
Alter: 27
Geschlecht: Männlich
Verfasst Do 14.02.2013 19:23
Titel

PHP Variablen Problem.

Antworten mit Zitat Zum Seitenanfang

Hallo, ich habe folgenden Code :
Code:

       $sql_result = mysql_query("select * from entry zbs");

        $num = counter($sql_result);
   $active_num = active_counter($sql_result);
   $not_active_num = not_active_counter($sql_result);
       
        mysql_fetch_assoc($sql_result);

Wie man sieht habe ich eine Variable mit der MySQL Anweisung die ich aber in 4 verschiedenen Funktionen oder Anweisungen brauch. Mein Problem ist das nur die erste obere Variable $num ausgegen wird. Mir ist bewusst das die Variable ihren Wert verliert, aber finde im Netz keine gute Alternative. Wichtig : Es muss die gleiche Variable sein ! Danke schonmal im Vorraus Grins
  View user's profile Private Nachricht senden
labrar

Dabei seit: 04.04.2006
Ort: -
Alter: 49
Geschlecht: Männlich
Verfasst Do 14.02.2013 19:30
Titel

Antworten mit Zitat Zum Seitenanfang

Code:

$sql_result = mysql_query("select * from entry zbs");
   $num = mysql_num_rows($sql_result);
   $active_num = $num;
   $not_active_num = $num;
       
        mysql_fetch_assoc($sql_result);



Ich habe keine Ahnung was genau du meinst. Aber du rufst jedesmal den selben Wert ab. Also lass doch SQL nach dem ersten mal in Ruhe und nimm für die anderen den Wert der ersten Abfrage. Siehe Code.

Was genau willst du denn machen?
  View user's profile Private Nachricht senden
Anzeige
Anzeige
vali97
Threadersteller

Dabei seit: 10.10.2012
Ort: Bockenau
Alter: 27
Geschlecht: Männlich
Verfasst Do 14.02.2013 20:05
Titel

Antworten mit Zitat Zum Seitenanfang

labrar hat geschrieben:
Code:

$sql_result = mysql_query("select * from entry zbs");
   $num = mysql_num_rows($sql_result);
   $active_num = $num;
   $not_active_num = $num;
       
        mysql_fetch_assoc($sql_result);



Ich habe keine Ahnung was genau du meinst. Aber du rufst jedesmal den selben Wert ab. Also lass doch SQL nach dem ersten mal in Ruhe und nimm für die anderen den Wert der ersten Abfrage. Siehe Code.

Was genau willst du denn machen?

Danke für die schnelle Antwort.
Aber das hab ich schon versucht. Dann wird mir ein Error angezeigt das zB mysql_fetch_assoc() keinen Wert besitzt, obwohl die Variable $sql_result als Parameter darin steht. Außerdem muss die mysql Anweisung unabhängig von den Funktionen ausgegeben werden, was bei deinem Vorschlag nicht zutrifft.
  View user's profile Private Nachricht senden
vali97
Threadersteller

Dabei seit: 10.10.2012
Ort: Bockenau
Alter: 27
Geschlecht: Männlich
Verfasst Do 14.02.2013 20:10
Titel

Antworten mit Zitat Zum Seitenanfang

Ich habe es mit Arrays versucht aber dann sind das ja am Ende wieder mehrere Werte, ich will aber nur ein Wert in einer Variable, die nicht beim ersten Aufruf verloren geht.
  View user's profile Private Nachricht senden
pantonine

Dabei seit: 03.03.2011
Ort: gehen Sie bitte weiter…
Alter: -
Geschlecht: -
Verfasst Do 14.02.2013 20:11
Titel

Antworten mit Zitat Zum Seitenanfang

Dein Code ist Schrott, Deine Beschreibung ist Schrott und ausgeg(eb)en wird da auch nichts. Und Variablen „verlieren auch nicht ihren Wert“.

Zitat:
nicht beim ersten Aufruf verloren geht.
PHP „rennt“ während des Aufrufs und ist dann fertig. Falls Du die Variablen Request-übergreifend benötigst
a) solltest Du erst mal sagen, wozu
b) sind Sessions Dein Stichwort.


Zuletzt bearbeitet von pantonine am Do 14.02.2013 20:12, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
vali97
Threadersteller

Dabei seit: 10.10.2012
Ort: Bockenau
Alter: 27
Geschlecht: Männlich
Verfasst Do 14.02.2013 20:15
Titel

Antworten mit Zitat Zum Seitenanfang

pantonine hat geschrieben:
Dein Code ist Schrott, Deine Beschreibung ist Schrott und ausgeg(eb)en wird da auch nichts. Und Variablen „verlieren auch nicht ihren Wert“.


Der Code ist nur ein Beispiel.
Okay, da ich mich nicht so gut ausdrücken kann habe ich gegoogelt und ein (ähnliches) Problem gefunden :

http://www.easy-coding.de/mysql-fetch-assoc-mehrfach-ausfuehrbar-t4057.html

Ich habe alle Antworten getestet doch es hat nichts geklappt!


Zuletzt bearbeitet von vali97 am Do 14.02.2013 20:16, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
pantonine

Dabei seit: 03.03.2011
Ort: gehen Sie bitte weiter…
Alter: -
Geschlecht: -
Verfasst Do 14.02.2013 20:17
Titel

Antworten mit Zitat Zum Seitenanfang

Sorry, solange Du nicht beschreibst, was Du erreichen willst, können wir hier alle nur raten. Glaskugel Glaskugel Glaskugel Glaskugel
  View user's profile Private Nachricht senden
vali97
Threadersteller

Dabei seit: 10.10.2012
Ort: Bockenau
Alter: 27
Geschlecht: Männlich
Verfasst Do 14.02.2013 20:28
Titel

Antworten mit Zitat Zum Seitenanfang

pantonine hat geschrieben:
Sorry, solange Du nicht beschreibst, was Du erreichen willst, können wir hier alle nur raten. Glaskugel Glaskugel Glaskugel Glaskugel


Okay, dann noch genauer. So, Ich habe eine Tabelle in MySQL erstellt mit verschiedenen Einträgen. Ich will jetzt mit PHP herausfinden wieviel Einträge die Tabelle besitzt, wieviele davon (aktiv) und nicht aktiv sind.

Das ist mein Code
Code:
function counter($x)
   {
      $counter = mysql_num_rows($x);
      return $counter;
   };
   
   function active_counter($x) {
      $active_num = 0;
   
      while($active = mysql_fetch_assoc($x))
      {
         if($active["aktiv"] == "ja") $active_num = $active_num + 1;
         
      }   
      return $active_num;
   }

   function not_active_counter($x)
   {
      $not_active_num = 0;
      
      while($not_active = mysql_fetch_assoc($x))
      {
         if($not_active["aktiv"] != "ja") $not_active_num = $not_active_num + 1;
      }   
      return $not_active_num;   
   }

//Tabelle auswählen und in der Variable $sql_result speichern
   $sql_result[1] = mysql_query("select * from entry");
   $sql_result[2] = mysql_query("select * from entry");
   $sql_result[3] = mysql_query("select * from entry");
    
   
   //Anzahl der Datensätze zählen und in einer Variable speichern
   $num = counter($sql_result[1]);
   $active_num = active_counter($sql_result[2]);
   $not_active_num = not_active_counter($sql_result[3]);

So mein Chef hat gesagt, ist okay aber er will Code sparen. Ich sollte keine Arrays benutzen, sondern nur eine Variable ohne Arrays benutzen,
Code:

$sql_result = mysql_query("select * from entry");

und die in die drei Funktionen als Parameter übergeben. Aber wenn ich das mache wird nur die erste Funktion bearbeitet da die anderen 2 keinen Wert übermittelt bekommen haben. Mein Chef sagt ich sollte mal googeln doch da wird meine Problem nicht beantwortet.

Besser ? Grins
  View user's profile Private Nachricht senden
 
Ähnliche Themen Variablen - Problem
[Mod_Rewrite] Problem mit 2 Variablen
Slideshow Variablen Problem
[Flash 8] Problem mit Variablen in dynamischen MCs
Variablen erstellen
PHP - Variablen in SQL Abfragen
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.