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 ::

TYPO3 Kochbuch

TYPO3 Kochbuch 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 > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 22.01.2006, 00:03:27
wwwwww wwwwww ist offline
Anfänger
 
Registriert seit: Aug 2005
Beiträge: 21
mit while , if , for direkt in Variable schreiben

Die folgende Nachricht zum Thema stammt von: carsten schlichting, 21. Januar 2006, 22:51

hallo

weiß zufällig jemand, ob man mit while, if , for usw auch direkt in variablen schreiben kann und wie sowas ungefähr aussehen würde.

ich mein ungefähr und natürlich theoretisch so:

PHP-Code:
$ergebnis=while(dsatz=mysql_fetch_assoc($res)){
           echo
"<td>".$dsatz['name']."</td>"
           
usw.
          };

echo wird wahrscheinlich falsch sein, aber vielleicht gibt es da ja was anderes.

PHP-Code:
echo =' html code'.$ergebnis.'htmlcode'

das würde bei mir alles sehr einfach machen.

Vielleicht weiß ja jemand was??


grüße aus Stuttgart
carsten
Mit Zitat antworten
  #2  
Alt 22.01.2006, 02:39:03
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: mit while , if , for direkt in Variable schreiben

ja, es gibt etwas, das nennt sich eval(). das ist aber sicher die unfeine art, das problem zu lösen.

warum schreibst du den code, den du immer wieder an mehreren stellen brauchst und anscheinend nicht mehrmals tippen willst, nicht in eine funktion und rufst diese auf?

Geändert von feuervogel (22.01.2006 um 02:45:37 Uhr)
Mit Zitat antworten
  #3  
Alt 22.01.2006, 04:00:09
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: mit while , if , for direkt in Variable schreiben

Zitat:
Zitat von wwwwww
weiß zufällig jemand, ob man mit while, if , for usw auch direkt in variablen schreiben kann und wie sowas ungefähr aussehen würde.
Ja klar kann man das.

Zitat:
ich mein ungefähr und natürlich theoretisch so:
PHP-Code:
$ergebnis=while(dsatz=mysql_fetch_assoc($res)){
           echo
"<td>".$dsatz['name']."</td>"
           
usw.
          };

Da das syntaktisch falsch ist, beginnt jetzt das große Rätselraten, was Du möchtest.

Eventuell suchst Du das:
PHP-Code:
define('NL'"\n");

$sql 'SELECT feld1, feld2, feld3 FROM tabelle WHERE dies = das';
$res mysql_query($sql) OR die(mysql_error());

$text '<table>' NL;

while(
$dsatz mysql_fetch_assoc($res))
{
   
$text .= '<tr>' NL;
   foreach (
$dsatz AS $name => $wert)
   {
       
$text .= '<td>' $name '</td>' '<td>' $wert '</td>' NL;
   }
   
$text .= '</tr>' NL;
}
$text .= '</table>' NL;

# irgend was

echo $text;

# was anderes 
Mit Zitat antworten
  #4  
Alt 23.05.2006, 01:00:23
JB JB ist offline
Anfänger
 
Registriert seit: May 2005
Beiträge: 34
AW: mit while , if , for direkt in Variable schreiben

Ich möchte hier anknüpfen, mit meinem Problem:

Also ich hab nun sämtliches hier aus dem Post ausprobiert, komme aber auf keinen grünen Zweig. Mein Grundproblem ist die von carsten ähnlich (wie bekomme ich eine variable aus einer while schleife).

PHP-Code:
  $connection mysql_connect($dbhost$dbuser$dbpw) or die($errmsg1);
  
$db_select mysql_select_db($tname$connection) or die($errmsg2);
  
$result mysql_query("SELECT id FROM beitrag WHERE send='0' AND freigabe='1' ORDER BY id DESC");
  while (
$eintrag mysql_fetch_array($result)) 
     {
    
$gid=$eintrag['id'];
             
$test="$gid";
    }
  @
mysql_close($connection); 
Die Anzahl der id ist von Abfrage zu Abfrage verschieden. Das Ergebnis möchte ich gerne zusammengefasst in eine Variable haben. Diese wird nicht als echo ausgegeben, sondern dann später in eine andere Datenbank gespeichert.
Gibt es da eine lösung, bzw. kann mir jemand die lösung von meikel genauer erklären. die umsetzung habe ich leider nicht geschafft.

JB
Mit Zitat antworten
  #5  
Alt 23.05.2006, 09:19:32
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: mit while , if , for direkt in Variable schreiben

Zitat:
Zitat von JB
Die Anzahl der id ist von Abfrage zu Abfrage verschieden. Das Ergebnis möchte ich gerne zusammengefasst in eine Variable haben.
Was bedeutet zusammengefasst für dich (Summe, Durchschnitt etc.)?
Mit Zitat antworten
  #6  
Alt 23.05.2006, 09:33:16
KTB KTB ist offline
Member
 
Registriert seit: Mar 2006
Alter: 38
Beiträge: 599
AW: mit while , if , for direkt in Variable schreiben

Wahrscheinlich will er in seinem Beispiel alle id's in eine Variable speichern.
Da gibt es zwei Möglichkeiten:
Entweder per Array, oder du schreibst alles in einem String in eine Variable und zerpflückst ihn dann ggf.
Momentan überschreibt das Script jedes mal den Inhalt die Variable test, so dass dort nur der letzte Wert steht.
__________________
In der Ruhe liegt die Kraft!
Mit Zitat antworten
  #7  
Alt 23.05.2006, 12:05:43
JB JB ist offline
Anfänger
 
Registriert seit: May 2005
Beiträge: 34
AW: mit while , if , for direkt in Variable schreiben

Gut, das war vielleicht ungenügend erklärt.
Also, die ID soll als Text gespeichert werden (nicht zusammengewählt im sinne von Summe).

PHP-Code:
 $connection mysql_connect($dbhost$dbuser$dbpw) or die($errmsg1); 
  
$db_select mysql_select_db($tname$connection) or die($errmsg2); 
  
$result mysql_query("SELECT id FROM beitrag WHERE send='0' AND freigabe='1' ORDER BY id DESC"); 
  while (
$eintrag mysql_fetch_array($result))  
     { 
     
$gid=$eintrag['id'];
     
$text=$eintrag['title']; 
     echo 
"<font class='check'>$gid - $text</font><br>"
    } 
  @
mysql_close($connection); 
Vielleicht ist es so besser erklärt. Das Echo würde ja jedesmal die beiden Variablen ausgeben. Nun möchte ich aber nicht, dass die untereinander ausgegeben werden, sondern dass der vollständige Inhalt der Schleife in eine variable gespeichert wird, damit ich diesen als einen Inhalt in eine weitere Datenbank speichern kann.

@xabbuh: Nicht als Summe (zusammenzählen), sondern nacheinander. Sry, vielleicht etwas doof erklärt von mir gewesen.

@KTB: Wie würde das mit dem String funktionieren?
Zerpflücken brauche ich im übrigen nicht, da dies Variable dann immer im gesamten ausgegeben werden würde.
Mit Zitat antworten
  #8  
Alt 24.05.2006, 00:20:09
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: mit while , if , for direkt in Variable schreiben

dann hänge die variablen doch einfach an einen string mit dem . operator dran...?

$string = "1";

$string .= " 2";

$string .= " 3";

usw halt in der schleife...

p.s.: sie in einem array zu speichern und dieses dann zu serialisieren ermöglicht auch die speicherung in einer datenbank.

Geändert von feuervogel (24.05.2006 um 00:20:41 Uhr)
Mit Zitat antworten
  #9  
Alt 24.05.2006, 00:51:47
JB JB ist offline
Anfänger
 
Registriert seit: May 2005
Beiträge: 34
AW: mit while , if , for direkt in Variable schreiben

und wieder einmal.....
.... ist die lösung doch einfacher als ich zuerst dachte.
Ich glaube ich sollte aufhören, ich denke zu kompliziert.

@feuervogel
Erneut gilt Dir mein Dank. *verneig* (hätte man zumindestens im mittelalter gemacht)

Dein Tipp war goldrichtig.

thx, for all

EDIT: Jetzt habe ich doch noch ein kleines Prob: Wie funktioniert das mit dem aray und was ist serialisieren?

Geändert von JB (24.05.2006 um 01:26:59 Uhr)
Mit Zitat antworten
  #10  
Alt 24.05.2006, 20:48:50
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: mit while , if , for direkt in Variable schreiben

du machst ein array

$array = array();

while( $res = mysql_fetch... ) {

$array[] = $res[ 'id' ];

}

nun hast du ein array mit ids.

desweiteren benutzt du serialize:

$serializedArray = serialize( $array );

jetzt ist $serializedArray ein string den man wunderbar in der datenbank in einer zelle speichern kann.

wenn du in ausliest musst du den string natürlich unserializen mit

$unserializedArray = unserialize( $res[ 'array_mit_ids' ] );
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
Variable in Variable? Giz PHP für Fortgeschrittene und Experten 13 22.07.2005 12:12:00
eintrag in datenbank mit variable chuck PHP Grundlagen 6 19.05.2004 14:09:08
Variable als Variable in eine Datei schreiben kurty PHP für Fortgeschrittene und Experten 3 18.02.2003 17:14:37
while in while? flobee PHP für Fortgeschrittene und Experten 2 05.01.2003 00:35:26
URL mit Präfix und Variable im Speicher ??? ben PHP für Fortgeschrittene und Experten 1 15.06.2002 22:45:08


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:14:45 Uhr.


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


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