kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Tabelle: in der 1 Spalte 4 Zeilen, in der 2. 3 Zeilen ?

    geschrieben von tags

    biwidesign schrieb:
    Kann man die drei Zeilen auch gleichmäßig aufteilen ?


    mit rowspan geht das nicht, aber du kannst Tabelle in Tabelle machen

    ... zuerst die Tabelle mit 2 Spalten (und 1e Zeile)
    und in die 1. Spalte eine Tabelle mit 4 Zeilen ... und Zeilen-Höhe z.B: 30px;
    und in die 2. Spalte eine Tabelle mit 3 Zeilen ... und Zeilen-Höhe z.B: 40px;

    4 x 30 = 120 .... und 3*40 = 120 .... damit ist es "gleichmäßig" verteilt.


    a) Tabellen in Tabelle

    <table width="500" border="0" cellspacing="0" cellpadding="0">
    
    	<tr>
    	<td width="50%" align="left" valign="top">
    
    	<table width="100%" border="0" cellspacing="2" cellpadding="2">
    		<tr>
    			<td width="100%" height="30" align="left" valign="top" bgcolor="#CCCCFF">Zeile 1</td>
    		</tr>
    		<tr>
    			<td width="100%" height="30" align="left" valign="top" bgcolor="#CCCCFF">Zeile 2</td>
    		</tr>
    		<tr>
    			<td width="100%" height="30" align="left" valign="top" bgcolor="#CCCCFF"> Zeile 3</td>
    		</tr>
    		<tr>
    			<td width="100%" height="30" align="left" valign="top" bgcolor="#CCCCFF"> Zeile 4</td>
    		</tr>
    	</table>
    
    	</td>
    	<td width="50%" align="left" valign="top">
    		
    	<table width="100%" border="0" cellspacing="2" cellpadding="2">
    		<tr>
    			<td width="100%" height="40" align="left" valign="top" bgcolor="#FFFFCC">Zeile 1</td>
    		</tr>
    		<tr>
    			<td width="100%" height="40" align="left" valign="top" bgcolor="#FFFFCC">Zeile 2</td>
    		</tr>
    		<tr>
    			<td width="100%" height="40" align="left" valign="top" bgcolor="#FFFFCC">Zeile 3</td>
    		</tr>
    	</table>
    
    	</td>
    	</tr>
    
    </table>

    EDIT: ... aber besser ist es wohl, die 2 Spalten (außen) als DIV-Container zu machen
    und mit CSS ... float die eine DIV links und die andere DIV rechts ausrichten

    a) Tabellen in DIVs

    <div style="text-align:center;">
    <div style="margin:0 auto; width:500px;">
    
    
    <div style="float:left; width:250px; margin:0px; padding:0px; text-align:left;">
    
    	<table width="100%" border="0" cellspacing="2" cellpadding="2">
    	  <tr>
    		  <td width="100%" height="30" align="left" valign="top" bgcolor="#CCCCFF">Zeile 1</td>
    	  </tr>
    	  <tr>
    		  <td width="100%" height="30" align="left" valign="top" bgcolor="#CCCCFF">Zeile 2</td>
    	  </tr>
    	  <tr>
    		  <td width="100%" height="30" align="left" valign="top" bgcolor="#CCCCFF"> Zeile 3</td>
    	  </tr>
    	  <tr>
    		  <td width="100%" height="30" align="left" valign="top" bgcolor="#CCCCFF"> Zeile 4</td>
    	  </tr>
    	</table>
    
    </div>
    
    <div style="float:right; width:250px; margin:0px; padding:0px; text-align:left;">
    	
    	<table width="100%" border="0" cellspacing="2" cellpadding="2">
    	  <tr>
    		  <td width="100%" height="40" align="left" valign="top" bgcolor="#FFFFCC">Zeile 1</td>
    	  </tr>
    	  <tr>
    		  <td width="100%" height="40" align="left" valign="top" bgcolor="#FFFFCC">Zeile 2</td>
    	  </tr>
    	  <tr>
    		  <td width="100%" height="40" align="left" valign="top" bgcolor="#FFFFCC">Zeile 3</td>
    	  </tr>
    	</table>
    
    </div>
    
    </div>
    </div>


    hier auch gleich mit einem umschließenden DIV, damit Du alles zentrieren kannst

    Edit: .. habe dir nochmal beide Codes neu rein :)
    ... die Tabellen-Höhe (und Breite, Farben, etc) kannst Du natürlich (besser) auch mit CSS machen

  • in: Tabelle: in der 1 Spalte 4 Zeilen, in der 2. 3 Zeilen ?

    geschrieben von tags

    hallo

    neben colspan gibt es ja auch rowspan :)

    <table width="500" border="0" cellspacing="2" cellpadding="2">
      <tr align="left" valign="middle">
        <td width="50%">Spalte1  in Zeile 1</td>
        <td rowspan="2" width="50%">Spalte2 in Zeile 1 plus Zeile 2</td>
      </tr>
      <tr align="left" valign="middle">
        <td width="50%">Spalte1 in Zeile 2</td>
      </tr>
      <tr align="left" valign="middle">
        <td width="50%">Spalte1 in Zeile 3</td>
        <td width="50%">Spalte2 in Zeile 3</td>
      </tr>
      <tr align="left" valign="middle">
        <td width="50%">Spalte1 in Zeile 4</td>
        <td width="50%">Spalte2 in  Zeile 4</td>
      </tr>
    </table>


    hier ist in Spalte 2 die Zeile 1 und Zeile 2 ein Feld

  • in: google taxonomy Liste zu Array mit Parent_Id

    geschrieben von tags

    schon ganz nett :)

    aber mit der Funktion wird bei jedem Durchlauf das Farben-Array $bgcolor immer wieder neu erstellt,
    das würde ich auch noch in eine extra Funktion auslagern, also nur einmal vorher "bauen"
    und dann anstatt
    global $max_deep;
    eben das Farben-Array nehemen
    global $bgcolor;


    also vorher das Array für Hintergrund-Farben erstellen

    <?php
    // ----------------------------------------------------------------- 
    
    // ---- die Variable $max_deep (int) ist aus vorherigem Script vorhanden
    $color1 = '#ACACAC';
    $color2 = '#FFFFCC';
    
    if (!isset($bgcolor)) { 
    $bgcolor = tree_color_data($color1, $color2, $max_deep); 
    }
    
    // ----------------------------------------------------------------- 
    ?>


    mit der (neuen) Funktion tree_color_data()

    <?php
    // -----------------------------------------------------------------
    // -------------------- Ebenen Hintergrund-Farben ------------------
    // -----------------------------------------------------------------
    
    function tree_color_data($color1, $color2, $max_deep) {
    
    $r1 = hexdec(substr($color1,1,2));
    $g1 = hexdec(substr($color1,3,2));
    $b1 = hexdec(substr($color1,5,2));
    
    $r2 = hexdec(substr($color2,1,2));
    $g2 = hexdec(substr($color2,3,2));
    $b2 = hexdec(substr($color2,5,2));
    
    $diff_r = ($r2-$r1);
    $diff_g = ($g2-$g1);
    $diff_b = ($b2-$b1);
    
    $bgcolorarr = array(); 
    
    for ($i=1; $i<=$max_deep; $i++) {
    $factor = ($i / $max_deep);
    
    $r = round($r1 + $diff_r * $factor);
    $g = round($g1 + $diff_g * $factor);
    $b = round($b1 + $diff_b * $factor);
    
    ## $xcolor = '#' . sprintf('%02X',$r) . sprintf('%02X',$g) . sprintf('%02X',$b);
    
    $xcolor = '#' . dechex($r) . dechex($g) . dechex($b);
    
    $bgcolorarr[$i] = $xcolor;
    
    }
    
    return $bgcolorarr; 
    }
    
    // -----------------------------------------------------------------
    ?>


    und dann die print_tree() Funktion mit
    global $bgcolor;
    machen / aufrufen

    <?php
    // -----------------------------------------------------------------
    // ------------------- print_tree() --- Version: 3 -----------------
    // -----------------------------------------------------------------
    
    
    function print_tree($array, $level=0, $view=1) {
    
    global $bgcolor; 	// ---- Ebenen Hintergrund-Farben ----
    
    $anzkat = 1; 		// ---- Kategorie Zaehler ----
    $prefix = 'kat'; 	// ---- Prefix fuer ul ID ---- 
    $cspace = "\t"; 	// ---- Quellcode Spacer ----
    
    $spacer = str_repeat($cspace, (($level+1)*2));
    
    // -------- Ebene 1 --- START --------
    if ($level == 0) {
    print "\n<ul id=\"".$prefix."_root\" style=\"display:block; background:".$bgcolor[0].";\">\n";
    }
    
    // -------- Baum aus Array --- START --------
    foreach($array as $key => $val) {
    $prelevel = $level;
    $level++;
    
    if ( isset($val['sub']) && !empty($val['sub']) ) {
    
    $subcount = count($val['sub']); 
    
    $preid = $val['parent_id'];
    
    $switch_link = "<a href=\"javascript:show('".$prefix.$key.$level."')\">open/close:</a> + ".$subcount."";
    
    // -------- Listen-Element mit Unter-Ebene --- START --------
    
    
    print $spacer."<li>Level: ".$level." --- ID: ".$key." --- (". str_pad($anzkat,2,'0',STR_PAD_LEFT) .") --- <strong>".$val['name']."</strong> [".$switch_link."] ";
    
    $anzkat++; 
    
    $ulcolor = 'background:'.$bgcolor[$level].';';
    
    if ($level >= $view) { $ulview = 'display:none;'; }
    else { $ulview = 'display:block;'; }
    
    $ulstyle = 'style="'.$ulview.' '.$ulcolor.'"';
    
    // -------- Sub-Ebene --- START --------
    print "\n".$spacer."<ul id=\"".$prefix.$key.$level."\" ".$ulstyle.">\n";
    
    print_tree($val['sub'], $level, $view);     // ---- rekursiver Funktions-Aufruf  ----
    
    
    print $spacer."</ul>\n";
    // -------- Sub-Ebene --- ENDE --------
    
    print $spacer."</li>\n\n";
    // -------- Listen-Element mit Unter-Ebene --- ENDE --------
    
    }
    else { 
    
    // -------- Listen-Element ohne Unter-Ebene --------
    
    print $spacer."<li>Level: ".$level." --- ID: ".$key." --- (". str_pad($anzkat,2,'0',STR_PAD_LEFT) .") --- <strong>".$val['name']."</strong></li>\n";
    
    $anzkat++; 
    
    }
    
    $level--;
    
    }
    // -------- Baum aus Array --- ENDE --------
    
    
    if ($level == 0) { print "</ul>\n"; }
    // -------- Ebene 1 --- ENDE --------
    
    
    }
    
    
    // -----------------------------------------------------------------
    ?>


    bei 10 Kategorien spart Dir das 9 mal den Zusammen-Bau des Hintergrund-Farben-Array
    ... also es muss nur 1x berechnet werden :=)


    hier nochmal das ganze Script .... http://paste42.de/4179/taxonomy_tree
    oder hier: http://pastebin.com/sFrLTt3b

    habe es auch getestet, bei mir lief es so ganz gut.


  • in: PHP Unterverzeichnisse eines Verzeichnisses ausgeben

    geschrieben von tags

    @hackyourlife .... da hast du natürlich recht

    ich habe es selber ausprobiert mit
    $verz = './';
    also war der absolute Pfad bei mir "egal"
    weil das script ja sowieso im "gleichen" Ordner war

    als ich es mit
    == true
    ausprobiert habe, keine Ausgabe
    aber mit
    === true
    oder der Kurzform (ohne) , dann ging es
    (bei meinem Test im gleichen Verzeichnis)

    wenn der Ordner, in dem "gesucht" wird nicht der gleiche ist, in dem das Script dazu läuft,
    dann ist das hinzufügen des vollständige Pfad ( $verz ) natürlich wichtig (notwendig) für is_dir()

    .. aber Quatsch ist das mit
    === true
    anstatt
    == true
    ja auch nicht
    wenn man explizit auf boolean Wert (true oder false) prüfen will, aber ohne gehts ja auch,

    die Kurzform / ein einfaches
    if ( is_dir($verz . $verzeichnis) )

    ist ja quasi das gleiche wie:
    if ( is_dir($verz . $verzeichnis) === true )

    ... Bedingung ist erfüllt, wenn is_dir() den Wert (bool)TRUE zurück gibt.

    wobei auch ich die "Kurzform" eher bevorzuge :)
  • in: PHP Unterverzeichnisse eines Verzeichnisses ausgeben

    geschrieben von tags

    hallo

    der Fehler bei:
    ... && is_dir ( $verzeichnis ) == true
    zu finden

    Vergleiche bei Typ boolean mit === nicht nur ==

    also entweder du lässt den Teil
    == true
    ganz weg
    if ($verzeichnis != "." && $verzeichnis != ".." && is_dir ($verzeichnis) ) {
    		echo '<option value="' . $verzeichnis . '">' . $verzeichnis . '</option>'. "\n";  // Ausgabe Einzeldatei
    	}


    oder du machst daraus
    === true

    if ($verzeichnis != "." && $verzeichnis != ".." && is_dir ($verzeichnis) === true) {
    		echo '<option value="' . $verzeichnis . '">' . $verzeichnis . '</option>' . "\n";  // Ausgabe Einzeldatei
    	}


    dann klappt es auch, weil die if-Bedingung bei Vergleich Typ boolean [true / false] stimmt :)

    Edit:
    und als Tip ... mach am Ende von
    '</option>';
    noch eine Zeilenumbruch im Quellcode
    also so:
    '</option>' . "\n";
    dann wird der erzeugte Quellcode besser lesbar :)



  • in: Preis-Bereich Slider (Formular) ohne jQuery ?

    geschrieben von tags

    Hallo

    gibt es einen Preis-Bereich Slider (Formular) ohne jQuery ?

    also so etwas hier: http://jqueryui.com/demos/slider/range.html aber ohne jQuery ui
    (und auch ohne ein anderes JS-Framework, einfache nur JS)

    wenn ich in google suche, finde ich nur Beispiele mit dem jQuery ui
    aber kann man sowas nicht auch ohne jQuery machen, als "reines" JavaScript ?

    die zwei Werte aus Slider (von/bis) sollen natürlich für Formular Übergabe funktionieren,
    also nach Auswahl und klick auf Formular-Submit Button sollen die Werte
    in _POST['preis_von'] und in _POST['preis_bis'] ankommen

    kennt jemand ein Beispiel-Code für so einen Range-Slider (Preisbereich von / bis)
    ... zum Einbau in ein Formular .... aber ohne ein JS-Framework ?

  • in: Senden_von_input

    geschrieben von tags

    Hallo

    würde auf der Seite, die empfangen soll noch prüfen, ob überhaupt Eingabe erfolgt ist
    bzw. ob das Formular (bzw einzelne Felder) leer (ohne Eingabe) abgesendet wurde

    einfaches Beispiel
    <?php
    
    if ( !empty($_POST['p']) && !empty($_POST['u']) ) { 
    
    // ---- je nach Bedarf die Eingabe-Strings escapen / filtern / säubern ---- 
    $data_p = trim(chop($_POST['p'])); 
    $data_p = strip_tags($data_p); 
    $data_p = stripslashes($data_p); 
    $data_p = htmlspecialchars($data_p); 
    
    $data_u = trim(chop($_POST['u'])); 
    $data_u = strip_tags($data_u); 
    $data_u = stripslashes($data_u); 
    $data_u = htmlspecialchars($data_u); 
    
    $ausgabe = "<br /> Feld p hat den Inhalt: ".$data_p." und Feld u hat den Inhalt: ".$data_u."\n"; 
    }
    else { 
    // ---- wenn min. eines der beiden Eingabe-Felder leer war ---- 
    $ausgabe = "<br /> Bitte alle Felder im Formular ausf&uuml;llen ...  <a href=\"javascript:history.back()\">zur&uuml;ck</a> \n"; 
    }
    
    echo $ausgabe; 
    
    ?>


    das geht auch noch differenzierter, also einzeln prüfen, welches Feld jetzt "leer" war
    oder auch ob der Eingabe-String bestimmte Bedingungen erfüllt (z.B. nur Zahlen erlauben, etc)

    aber als einfaches Beispiel sollte es so genügen. Es soll ja nur zeigen,
    dass man die POST oder GET Variablen möglichst vor der weiter-Verarbeitung
    prüfen und filtern (escapen / säubern) soll, damit man nur mit "sinnvollen" EIngaben weiter macht

    besonders wenn man die Daten dann auch speichern will, ist escapen (säubern) wichtig,

    und wie fabi755 schon gesagt hat
    vor Speichern in MySQL sollte man User-Eingaben immer mit mysql_real_escape_string() filtern
    dazu sollte aber die DB-Vernindung schon bestehen, damit mysql_real_escape_string richtig funktioniert
    also damit gleich im richtigen Zeichensatz escaped wird.

    aber auch beim Speichern in Datei kann es sein, dass bestimmte Zeichen Probleme machen,
    wenn es z.B. im CSV Format gespeichert werden soll, dann vorher Zeilenumbrüche raus-filtern
    und ggf auch das Spalten-Trenner-Zeichen, wenn Spalten ohne Enclosure gespeichert werden
    oder enclosure-Zeichen aus String filtern, wenn mit Enclosure gespeichert werden soll.

  • in: RSS-Feed auslesen: channel und content:encoded ?

    geschrieben von tags

    .... Namespace !!!!

    $ns = $objres->getNamespaces(true);
    
    foreach($objres->channel->item as $items) { 
       echo "<u>".$items->title."</u>\n"; 
       echo "<br />\n"; 
       echo "<br />".$items->children($ns['content'])->encoded."\n";  
       echo "<br />\n"; 
    }


    oder, wenn die Namespace-Definition nicht in der RSS steht, dann direkt

    foreach($xmldata->channel->item as $items) { 
       echo "<u>".$items->title."</u>\n"; 
       echo "<br />\n"; 
       $content = $items->children('http://purl.org/rss/1.0/modules/content/');
       echo "<br /> ".$content->encoded."\n";  
       echo "<br />\n"; 
    }


    so kommt man an <content:encoded> Inhalt :)

  • in: htaccess hilfe

    geschrieben von tags

    so

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(www\.)?alte_domain\.tld$
    RewriteRule (.*) http://www.neue_domain.tld/$1 [R=301,L]


    oder einfach so

    RedirectPermanent / http://www.neue_domain.tld


  • in: von JSON date zu PHP Datum?

    geschrieben von tags

    naja,
    das dieses JSON Datum auf 000 endet ist hier auch nur Zufall,
    daher denke ich ist ceil() schon sinnvoll, sont bekommt man ja als Ergebnis ein float und kein int

    eine Alternative wäre da wohl auch noch mit round() zu arbeiten,
    damit je nach Milisekunden auf- oder ab-gerundet wird (mit 0 Stellen nach dem Komma)
    aber so genau brauche ich das Datum (bzw. die Zeit) garnicht

    aber es wundert mich, dass man dafür ein substr() braucht

    ich habe gehofft, es gibt da eine "direkte" (PHP interne) Funktion zur Umwandlung
    die von so einem JSON Timestamp ein PHP-Timestamp macht, oder gleich ein formatiertes Dateum

    aber wenn nicht, auch kein Problem, so geht's ja auch
  • in: von JSON date zu PHP Datum?

    geschrieben von tags

    Hallo

    ich bekomme per JSON ein Datum, das anscheinend ein Milisekunden-Timestamp ist

    nach json_decode() bekomme ich sowas:

    => stdClass Object
                    (
                        [Id] => 162
                        [Name] => Blöablabla
                        [LastUpdate] => /Date(1341541380000+0200)/
                   )


    wie komme ich jetzt von
    /Date(1341601020000+0200)/

    auf ein "normales" Datum in der Form YYYY-mm-dd (HH:ii:ss)

    muss ich dazu Umweg machen über

    $jdx = substr($shopitem->LastUpdate,6,-7);
    $jdy = ceil($ldx/1000); 
    $datum = date('Y-m-d (H:i:s)',$jdy);


    oder kann man das "einfacher" (mit PHP-interner Funktion) umwandeln ?

  • in: Springende Navigation

    geschrieben von tags

    Hallo

    hast du vielleicht verschiedene CSS Dateien ?
    einmal im Ordner /members/media/style.css
    und die andere in /media/style.css

    wenn ja, dann solltest Du nur eine CSS nehmen und den Pfad so anpassen,
    dass immer die gleiche .css Datei verwendet wird
  • in: leere XML nodes als Leerstring und nicht leeres Object

    geschrieben von tags

    Hallo


    ich habe eine Datei mit XML-Daten
    in der u.a. auch "leere" Elemente enthalten sind, hier BSP <info></info> im zweiten item

    <?xml version="1.0" encoding="iso-8859-1"?>
    <results>
      <item>
        <name>Donald</name>
        <info>Blabla Bla blablabla</info>
        <status>1</status>
      </item>
      <item>
        <name>Mickey</name>
        <info></info>
        <status>1</status>
      </item>
    </results>


    Wen ich die Daten auslese, bekomme ich bei "leeren" Elementen aber keinen "Leertring"
    sondern ein leeres Object, auch LIBXML_NOBLANKS bringt nichts, es bleibt als Object ?!

    $xml_file = 'meinedaten.xml'; 
    $res_data = simplexml_load_file($xml_file, null, LIBXML_NOBLANKS); 
    
    print "<pre>\n"; 
    print_r($res_data); 
    print "</pre>\n";


    Als Ergebnis / Ausgabe bekomme ich:

    SimpleXMLElement Object
    (
        [item] => Array
            (
                [0] => SimpleXMLElement Object
                    (
                        [name] => Donald
                        [info] => Blabla Bla blablabla
                        [status] => 1
                    )
    
                [1] => SimpleXMLElement Object
                    (
                        [name] => Mickey
                        [info] => SimpleXMLElement Object
                            (
                            )
    
                        [status] => 1
                    )
    
            )
    
    )



    Wie bekomme ich es hin, dass bei leeren Elementen wie <info></info> aus XML
    im Ergebnis dann auch ein "Leerstring" ankommt, und nicht ein leeres Object ?

    ok, ich könnte das Ergebnis mit foreach durchgehen,
    und dabei leere Objekte in Leerstrings umwandeln,

    $i=0; 
    $ok_data = array(); 
    $i=0; 
    foreach($res_data->item as $items) { 
      foreach($items as $key => $val) { 
        $ok_data[$i][$key] = (string)$val; 
      }
      $i++; 
    }


    damit bekomme ich dann ein neues "sauberes" Array $ok_data ohne Leer-Objekte

    aber geht es nicht direkt beim Auslesen, denn wenn die XML bischen umfangreicher ist,
    dann verbraucht das "nochmal mit foreach durchgehen" schon fast zuviele Ressourcen


    und noch eine zweite Frage:

    warum bekomme ich bei Ausgabe
    print "<pre>\n"; 
    print_r($res_data->item); 
    print "</pre>\n";


    nur das erste Array-Element aus item ??
    da [item] ja ein Array ist, dann sollte doch hier das Array auch ausgegeben werden?
    aber es kommt nur das erste Array-Element, und dann auch noch als Objekt ???
    SimpleXMLElement Object
    (
        [name] => Donald
        [info] => Blabla Bla blablabla
        [status] => 1
    )


    häää? $res_data->item ist doch ein Array ?? warum wird es nicht auch so ausgegeben

    aber wenn ich foreach($res_data->item as $items) { ... } mache,
    dann werden alle vorhandenen Array-Elemente durchlaufen ?!

    wo ist da die Logik ? ... warum mit print_r() kein Zugriff auf das Array aber mit foreach() klappts ?

    ??? .... kann mir das bitte mal jemand erklären ? ... ist für mich grad total unlogisch ...
    Danke

Login zum Webhosting ohne Werbung!