Tabelleninhalt auf mehrere Variablen aufteilen?

Gesperrt
lux
Beiträge: 33
Registriert: Di 12. Okt 2004, 14:11
Wohnort: .at
Kontaktdaten:

Tabelleninhalt auf mehrere Variablen aufteilen?

Beitrag von lux » Fr 16. Dez 2005, 17:45

Hallo Leute!

Steh mal wieder gewaltig auf der Seife...

Sollte wissen wie man von einer Tabellenzelle folgen Inhalt in mehrere Variablen aufteilt...

505=Testbude&500=Tesstrasse+1a&501=6900&502=Bregenz&506=05577-77777&507=05577-77777&508=0664-4844273&509=office%40luxmedia.at&510=www.luxmedia.at&

und haben sollte ich aber

$505 = Testbude
$500 = Tesstrasse 1a
$501 = 6900
...

Diese werte sollten durch ein Artikelliste ausgelesen und ausgegben werden!

Danke Euch schon jetzt für die rasche Hilfe...!

Greets
LUX
Das Leben besteht aus Nullen und Einsen!

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 16. Dez 2005, 18:41

mittels explode -> http://at.php.net/manual/en/function.explode.php
und foreach -> http://at.php.net/manual/en/control-str ... oreach.php

sieht in etwa so aus.. (nicht getestet...)

Code: Alles auswählen

<?php
$string = "505=Testbude&500=Tesstrasse+1a&501=6900&502=Bregenz&506=05577-77777&507=05577-77777&508=0664-4844273&509=office%40luxmedia.at&510=www.luxmedia.at&";

$values = explode("&", $string); // trennzeichen &
foreach ($values as $value) {
    $part = explode("=", $value); // trennzeichen =

    $key = $part[0];

    $value = urldecode($part[1]); // urlencodierung entfernen -> verwandelt %40 in @ um...

    echo "\$$key = \"$value\" <br>";

}

?>
*** make your own tools (wishlist :: thx)

lux
Beiträge: 33
Registriert: Di 12. Okt 2004, 14:11
Wohnort: .at
Kontaktdaten:

THX

Beitrag von lux » Fr 16. Dez 2005, 18:58

Hallo!

Danke für deine Rasche stütze...

Hab das nun mal eingebaut und er bringt mir auch die Daten nur nicht dort wo sie hin sollten...

darum die Frage wie muss ich das umbauen...

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* REFERENZ MODUL / ARTIKELLISTE
*
* Artikelliste mit Img 1, Head 1, Head 2
*
* Erstellt eine Liste mit allen Artikel bis
* auf den Startartikel.
*
* Author      :     Jan Lengowski
* Copyright   :     four for business AG
* Created     :     15-08-2002
* Modified    :     16-08-2002
************************************************/

// second db class instance
$db2 = new DB_Contenido;

// selected category
$selcat = "CMS_VALUE[0]";

 if($selcat!="0" && $selcat!=""){

// select all articles in category widthout start article
$query = "SELECT ARTLANG.idtplcfg, ARTLANG.idart, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
         $cfg["tab"]["art_lang"]." AS ARTLANG ". 
         "WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' ORDER BY ARTLANG.artsort";

// execute query
$db->query($query);

unset($articleID);
unset($linkID);
unset($tplID);

// get id's of sub articles
while ($db->next_record()) {
  $articleID[] = $db->f("idartlang");
  $linkID[] = $db->f("idart");
  $tplID[] = $db->f("idtplcfg");


} // end while



// loop through subarticles

echo '
<table width="410" border="0" cellspacing="0" cellpadding="0"><tr>
<td style="border: 1px; border-left:0px; border-right:0px; border-color: #FF9933; border-style: solid; background-color: #FCF2D5; padding-bottom:10px; padding-top:10px" class="punkte">CMS_VALUE[2]</td></tr>
';

if (is_array($articleID)) {

    foreach ($articleID as $key => $value) {


          // select all CMS variables of the article
          $sql = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '1'";
          $db->query($sql);
          $db->next_record();
          $head = $db->f("value");
          
          if ( strlen($head) > "CMS_VALUE[3]") {
            $head = substr($head, 0, "CMS_VALUE[3]");
            $head .= '..'; 
         
}

if (is_array($tplID)) {

    foreach ($tplID as $key => $value1) {

          $sql2 = "SELECT * FROM ".$cfg["tab"]["container_conf"]." WHERE idtplcfg = '$value1' AND number = '5'";
          $db2->query($sql2);
          $db2->next_record();
          $inhalt = $db2->f("container"); }
        
          $values = explode("&", $inhalt); 
          foreach ($values as $value) { 
          $part = explode("=", $value); 

          $key = $part[0]; 

          $value = urldecode($part[1]); // urlencodierung entfernen -> verwandelt %40 in @ um... 

          echo "\$$key = \"$value\" <br>"; }


         // link
          $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]&m=$m&s=$s");

       

echo '<tr><td colspan="2" class="punkte"  style="border: 1px; border-top:0px; border-left: 0px; border-right: 0px; border-bottom: 1px; border-color: #FF9933; border-style: solid; background-color: #FCF2D5; padding-left:0px; padding-bottom:10px; padding-top:10px">
<a class="headline2" href="'.$link.'">'.urldecode($db->f("value")).'</BR>'.$505.'</BR>'.$500.', '.$Plz.' '.$Ort.'</BR>Tel.: '.$Telnr.', Fax: '.$Faxnr.', M.: '.$Mnr.'</a></td></tr>';

    } // end while }


          unset($headline);
        unset($text);
        
    } // end foreach
    
} }// end if (is_array)

echo '</table><br>';


?>

Danke für deine Antwort...
Das Leben besteht aus Nullen und Einsen!

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 16. Dez 2005, 19:11

...die Daten nur nicht dort wo sie hin sollten...
darum die Frage wie muss ich das umbauen...
ähm wie ?

du wirst da ja wohl was dabei gedacht haben wie du die frage gestellt hast, wofür du das verwenden möchtest...

ich hab keine lust zu raten...
*** make your own tools (wishlist :: thx)

lux
Beiträge: 33
Registriert: Di 12. Okt 2004, 14:11
Wohnort: .at
Kontaktdaten:

Beitrag von lux » Fr 16. Dez 2005, 19:16

Das ist ein Artikelliste die weitere Daten aus einem Modul ausliest...

Das heist konkret das der Inhalt

"Testbude" als Variable $505 vorliegt
"Teststrasse" als Variable $500 vorliegt

etc...

Danke!
Das Leben besteht aus Nullen und Einsen!

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 16. Dez 2005, 19:18

anstelle von

Code: Alles auswählen

echo "\$$key = \"$value\" <br>"; 
folgendes verwenden

Code: Alles auswählen

$$key = $value;
ich hab aber keine ahnung ob eine variable wie $500 überhaupt funktioniert...
*** make your own tools (wishlist :: thx)

lux
Beiträge: 33
Registriert: Di 12. Okt 2004, 14:11
Wohnort: .at
Kontaktdaten:

Beitrag von lux » Fr 16. Dez 2005, 19:25

Ok funktioniert im grossen und ganzen ...

Doch die Variable $500 ohne Buchstabe akzeptiert das Contenido nicht ???

Also müsste zum Key noch ein fixer Buchstabe hinzugefügt werden oder liege ich da Falsch?

Danke!
Das Leben besteht aus Nullen und Einsen!

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 16. Dez 2005, 19:31

ob $500 funktioniert ist keine contenido frage sondern ne php sache...

wenn es php so schluckt ist es okay, wenn nicht na ja dann müsste ein fixer buchstabe hinzugefügt werden...

Code: Alles auswählen

${"v".$key} = $value;
obs funktioniert kann ich auf die schnelle nicht sagen..
*** make your own tools (wishlist :: thx)

lux
Beiträge: 33
Registriert: Di 12. Okt 2004, 14:11
Wohnort: .at
Kontaktdaten:

Beitrag von lux » Fr 16. Dez 2005, 19:38

Du bist ein Genie...! Funktioniert Danke!

Das was wir gerade gebastelt haben kannst du ansehen unter:

http://www.dashandwerk.at/cms/front_con ... p?idcat=50

Danke nochmals

Greets
Martin
Das Leben besteht aus Nullen und Einsen!

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 16. Dez 2005, 19:43

Du bist ein Genie...! Funktioniert Danke!
danke, ganz lieb....

ich würd es trotzdem nicht so machen

Code: Alles auswählen

$data[$key] = $value;
würde sicher überall laufen...
die ausgabe eines wertes würde dann via
zb

Code: Alles auswählen

echo $data[510];
funktionieren...

grund:
andererseits kann man nie wissen welche anderen variablen dadurch überschrieben werden könnten...

und wenn man die $data nicht mehr braucht kickt man es via
unset($data);
*** make your own tools (wishlist :: thx)

Gesperrt