Suche auf lima-city
- 
in: Zweimal Count in einer Abfrage bei MySQLi ?geschrieben von sportinfo ich möchte in einer Spalte in der Tabelle zählen,
 
 Ergebnis der Abfrage soll sein:
 
 xa = Alle Gesamt
 xb = Keine doppelten zählen (DISTINCT)
 
 im "alten" MySQL ging es so
 $sql = "SELECT COUNT(name1) AS xa, COUNT(DISTINCT name1) AS xb FROM ".$db_tabelle.""; $res = mysql_query($sql); while( $row = mysql_fetch_assoc($res) ) { echo $row['xa'] ." --- ". $row['xb'] ."<br /> \n"; }
 
 aber bei MySQLi bekomme ich damit nur den ersten Wert für xa
 verwende für mysqli das gleiche $sql Statement
 $sql = "SELECT COUNT(name1) AS xa, COUNT(DISTINCT name1) AS xb FROM ".$db_tabelle.""; $res= $mysqli->query($sql); while( $row = $res->fetch_assoc() ) { echo $row['xa'] ." --- ". $row['xb'] ."<br /> \n"; }
 
 
 PS: ja ... $mysqli ist eine hergestellte MySQLi Verbindung
 Ergebnis kommt ja auch, aber eben nur das eine für xa
 
 
 funktioniert das COUNT(DISTINCT,...) in mysqli nicht,
 oder liegt es daran, das es quasi ja zwei Abfragen in einem Statement sind ?
 
 Wie dieses "Zwei ml Zählen"
 ... a) Alle, und ... b) nur Unique (keinen Doppelte)
 in mysqli umsetzen ? .... Danke!
 
- 
in: image resize Thumbnail (von gif) und transparentezgeschrieben von sportinfo ja, das ist es im Grunde schon
 
 $out= imagepng($new_image,$dst);
 und dann
 return $out;
 
 und den Teil
 werde ich auch noch ändern,switch($type) { ... }
 also den case default, wenn Image-Type (key) nicht in case Liste,
 dann anstatt dem echo "Error"; und exit(); ein return für falsches Image.Type von $src
 
 
 
 
- 
in: image resize Thumbnail (von gif) und transparentezgeschrieben von sportinfo jetzt habe ich die Funktion hinbekommen, das es funktioniert,
 
 <?php // ---------------------------------------------------------- function resize_image($src, $dst, $new_width, $new_height) { list($old_width, $old_height, $type, $attr) = getimagesize($src); switch($type) { case (1): $image_source = imagecreatefromgif($src); break; case (2): $image_source = imagecreatefromjpeg($src); break; case (3): $image_source = imagecreatefrompng($src); break; default: echo "Error"; exit(); break; } $Transparent = imagecolortransparent($image_source); $new_image = imagecreate($new_width, $new_height); imagepalettecopy($new_image, $image_source); imagefill($new_image, 0, 0, $Transparent); if ($Transparent >= 0) { $tColor = imagecolorsforindex($image_source, $Transparent); imagecolortransparent($new_image, $Transparent); } else { $tColor = array('red' => 255, 'green' => 255, 'blue' => 255); imagecolorallocate($new_image, $tColor['red'], $tColor['green'], $tColor['blue']); } imagecopyresampled($new_image, $image_source, 0, 0, 0, 0, $new_width, $new_height, $old_width, $old_height); imagepng($new_image,$dst); imagedestroy($image_source); imagedestroy($new_image); } // ---------------------------------------------------------- ?>
 
 jetzt brauche ich noch eine Rückgabe (return)
 die mir sagt, ob das neue Bild erfolgreich erstellt und gespeichert wurde (true / false)
 
 
 
- 
in: image resize Thumbnail (von gif) und transparentezgeschrieben von sportinfo Hallo
 
 ich habe eine Funktion,
 die mir aus einem größeren Image eine kleins Bild davon als .png kopieren soll,
 Stichwort: Thumbnail
 
 aber wenn ich eine .gif als Quelle nehme und die auch tranzparente Flächen enthält,
 dann werden diese dann im resized .png zu schwarze Farb-Fläche
 
 hier die Funktion(en):
 <?php // ---------------------------------------------------------- function resize_image($src, $dst, $dstw, $dsth) { list($width, $height, $type, $attr) = getimagesize($src); // ---- Image $type Flags: ---- 1 = GIF, 2 = JPG, 3 = PNG ---- // ---- http://www.php.net/manual/en/function.exif-imagetype.php // ---- http://www.php.net/manual/en/function.image-type-to-mime-type.php switch($type) { case (1): $im = imagecreatefromgif($src); break; case (2): $im = imagecreatefromjpeg($src); break; case (2): $im = imagecreatefrompng($src); break; default: echo "Error"; exit(); break; } $tim = imagecreatetruecolor($dstw, $dsth); imagecopyresampled($tim, $im, 0, 0, 0, 0, $dstw, $dsth, $width, $height); $tim = ImageTrueColorToPalette2($tim, false, 255); imagepng($tim,$dst); } function ImageTrueColorToPalette2($image, $dither, $ncolors) { $width = imagesx( $image ); $height = imagesy( $image ); $colors_handle = ImageCreateTrueColor( $width, $height ); ImageCopyMerge( $colors_handle, $image, 0, 0, 0, 0, $width, $height, 100 ); ImageTrueColorToPalette( $image, $dither, $ncolors ); ImageColorMatch( $colors_handle, $image ); ImageDestroy($colors_handle); return $image; } // ---------------------------------------------------------- ?>
 
 
 Beispiel Aufruf dann so (vereinfacht)
 
 $isrc = 'testimg1.gif'; // ---- Original-Bild / Quelle $type = '.gif'; // ---- Image-Type von Original-Bild $dstw = 120; // ---- Thumbnail width in Pixel $dsth = 120; // ---- Thumbnail height in Pixel $idst = basename($isrc, $type); // --- ergibt: testimg1 ohne .gif $idst .= 'thumb_'.$idst.'.png'; // --- prefix und filetype des Thumbnail if (!file_exists($idst)) { $new_image = resize_image($isrc, $idst, $dstw, $dsth); } // ---- Test / Debug Ausgabe ---- echo "<br /> \n"; echo "<br /> Original: \n"; echo "<br /><img src=\"".$isrc."\" border=\"0\" />\n"; echo "<br /> \n"; echo "<br /> Thumbnail: \n"; echo "<br /><img src=\"".$idst."\" border=\"0\" />\n"; echo "<br /> \n";
 
 erzeugt wird somit die neue Datei$idst = 'thumb_testimg1.png';
 
 Fragen:
 
 a) kann ich die Transparenz irgendwie beibehalten,
 damit die transparenten Bereiche aus .gif auch in der .png transparent bleiben ?
 
 b) oder [wenn a) nicht geht] wo muss ich die Werte ändern,
 wenn ich eine andere Farbe als Ersatz für die transparenten Flächen haben will,
 also z.B., weiß (255, 255, 255) anstatt schwarz (0,0,0) ... aber wo im Code anpassen ?
 
 c) oder kennt jemand eine andere (bessere) image-Resize Funktion,
 um Thumbnail zu erstellen, in der transparente Bereiche auch transparent bleiben ?
 
 
- 
in: rewrite - bestehende Ordner ausschließen ?geschrieben von sportinfo Hallo
 
 ich möchte, dass meine Rewrite-Regeln nur dann greifen,
 wenn die aufgerufene Adresse nicht (physikalisch) existiert,
 
 also nur Rewrite anwenden, wenn aufgerufener Dateiname oder Ordner nicht schon existiert
 
 aber mit der Ausschluß-Regel im RewriteCond klappt das nicht für Ordner
 
 RewriteCond %{REQUEST_URI} (.*)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d
 
 die Zeile:
 funktioniert,RewriteCond %{REQUEST_FILENAME} !-f
 aber die Zeile:
 funktioniert nichtRewriteCond %{REQUEST_FILENAME} !-d
 
 in den Rewrite-Regeln werden zwar auch Aufrufe als Ordner-Struktur um-geschrieben
 RewriteRule ^([^\/]*?)(\/?)$ artikel.php?a=$1 [L,QSA] RewriteRule ^([^\/]*)\/([^\/]*?)(\/?)$ artikel.php?a=$1&b=$2 [L,QSA]
 
 aber die sollte ja garnicht "greifen" wenn der Ordner echt (physikalisch) existiert,
 ... tut es aber doch :(
 
 Beispiel 1:
 Ordner: /kategorie/ existiert nicht physikalisch
 Aufruf: <domain>/kategorie/ ----> Rewrite zu artikel.php?a=kategorie
 .... OK
 
 Beispiel 2:
 Ordner: /ablage/ existiert physikalisch
 <domain>/ablage/ ----> Rewrite zu artikel.php?a=ablage
 .... Fehler ... Ordner existiert, hier soll der Inhalt von /ablage/ kommen (Directory Index)
 
 
 Wie kann ich, bei Aufruf eines Ordners, der schon existiert, die Rewrite-Regel(n) ausschließen ?
 .... die Zeile:
 funktioniert nicht ?!?RewriteCond %{REQUEST_FILENAME} !-d
 
 
- 
in: Daten für Funktion mit oder ohne Übergabegeschrieben von sportinfo ok. vielen Dank
 ich glaube jetzt habe ich es verstanden,
 
 mit Referenz in der Funktionsdefinition wird direkt das Original verändert
 
 hatte mich nur gewundert, dass eine Funktion ohne return was "zurück gibt"
 ... aber jetzt ist es klar, sie muss in dem Fall nichts "zurück geben"
 weil sie direkt das Original bearbeitet.
 
 Danke für die Erklärung :)
 
- 
in: Daten für Funktion mit oder ohne Übergabegeschrieben von sportinfo sorry, aber fehlt da nich auch noch ein return in der Funktion ?
 ..... sonst wird ja nichts zurück gegeben ?!
 
 function test( &$daten ) { $daten += 5; return $daten; } $zahl = 3; $ergebnis = test( $zahl ); echo $ergebnis;
 
 oder geht das - wegen der Referenz & hier auch ohne return ?
 (weil das Original Objekt verändert wird) .... ?
 
 heisst das jetzt, Funktionsdefinition mit Referenz zu Variable als Parameter
 ist gleich wie diese Variable als global (in der Funktion) zu definieren ?
 ... habe ich das richtig verstanden ?
- 
in: Daten für Funktion mit oder ohne Übergabegeschrieben von sportinfo Hallo
 
 macht es einen (Performance) Unterschied,
 ob ich $daten (z.B. mehrere KB großes Array)
 im Funktionsaufruf übergebe oder als "globale" Variable nutze ?
 
 und wenn ich in einer Funktion "große" Variablen verwenden möchte,
 was ist dann besser ...
 
 a) ... als global() in der Funktion definieren
 b) ... als Session (vorher) anlegen
 c) ... als Konstante (vorher) definieren
 d) ... im Funktions-Aufruf übergeben
 e) ... erst in Funktion Datenquelle auslesen
 
 Beispiel:
 $daten = file('liesmich.txt'); $anz = count($daten); if ($anz < 1) { echo "<p>Keine Daten vorhanden.</p>\n"; } else { echo "<p>" . zeige_daten ($anz) . "</p>\n"; } // --------------------------------------------- function zeige_daten ($anz) { global($daten); // oder als SESSION oder als KONSTANTE ??? $out = "Anzahl: ".$anz."\n"; $out .= "<br />----------------------------\n"; $i=1; foreach($daten as $item) { $out .= "<br />".$i." --- ".$item."\n"; $i++; } $out .= "<br />----------------------------\n"; return $out; } // ---------------------------------------------
 
 
 oder mit Übergabe im Funktions-Aufruf
 
 Beispiel:
 $daten = file('liesmich.txt'); $anz = count($daten); if ($anz < 1) { echo "<p>Keine Daten vorhanden.</p>\n"; } else { echo "<p>" . zeige_daten ($daten, $anz) . "</p>\n"; } // --------------------------------------------- function zeige_daten ($daten, $anz) { $out = "Anzahl: ".$anz."\n"; $out .= "<br />----------------------------\n"; $i=1; foreach($daten as $item) { $out .= "<br />".$i." --- ".$item."\n"; $i++; } $out .= "<br />----------------------------\n"; return $out; } // ---------------------------------------------
 
 macht das einen Unterschied,
 ... ob die $daten globa() definiert oder im Funktions-Aufruf übergeben werden ?
 ... oder wäre es als SESSION besser ... oder gar define() als KONSTANTE ??
 
 Oder doch besser erst innerhalb der Funktion die $daten auslesen ?
 
 $datenquelle = 'liesmich.txt'; echo "<p>" . zeige_daten ($datenquelle) . "</p>\n"; // --------------------------------------------- function zeige_daten ($datenquelle) { $daten = file($datenquelle); $anz = count($daten); if ($anz < 1) { $out = "Keine Daten vorhanden.\n"; } else { $out = "Anzahl: ".$anz."\n"; $out .= "<br />----------------------------\n"; $i=1; foreach($daten as $item) { $out .= "<br />".$i." --- ".$item."\n"; $i++; } $out .= "<br />----------------------------\n"; } return $out; } // ---------------------------------------------
 
 
 oder macht das gar keinen Unterschied ?
 
 
- 
in: rewrite mit verschiedenen Endungengeschrieben von sportinfo vielen Dank
 
 habe alle drei "neuen" Versionen ausprobiert, und die funktionieren alle :)
 
 RewriteRule ^([^\/]+)\/([^\/\.]+) artikel.php?a=$1&b=$2 [L,QSA] RewriteRule ^([^\/]*)\/([^\/\.]*)(\/?|\.html?)$ artikel.php?a=$1&b=$2 [L,QSA] RewriteRule ^([^\/]*)\/([^\/]*?)(\/?|\.html?)$ artikel.php?a=$1&b=$2 [L,QSA]
 
 jetzt kann ich mir ja eine aussuchen ... mal würfeln ...
 
 
- 
in: rewrite mit verschiedenen Endungengeschrieben von sportinfo hmmm , naja, fast ...
 
 wenn ich jetzt Aufruf machen wie/xxxxx/yyyyy.html
 
 dann ist in der artikel.php als $_GET['b'] = yyyyy.html
 
 also das .html wird mit in der GET-Variable übergeben ?
 obwohl es doch Teil der Rewrite-Regel ist ... bei Slash / am Ende passiert das nicht
 
 ok, das könnte ich mit einem str_replace() wieder raus filtern,
 aber schöner wäre halt doch gleich in $_GET ohne Datei-Endung
 
- 
in: rewrite mit verschiedenen Endungengeschrieben von sportinfo Hallo
 
 ich habe ein Rewrite Regel, die funktionieren soll,
 egal ob im Aufruf (URL) ein Slash / am Ende ist oder nicht, oder ein .html oder ein .htm
 
 OK, ich kann einfach alle Regeln in die .htaccess untereinander schreiben
 
 ohne Slash / am Ende:
 RewriteRule ^([^\/]*)\/([^\/]*)$ artikel.php?a=$1&b=$2 [L,QSA]
 mit Slash / am Ende:
 RewriteRule ^([^\/]*)\/([^\/]*)\/$ artikel.php?a=$1&b=$2 [L,QSA]
 mit .html am Ende:
 RewriteRule ^([^\/]*)\/([^\/]*)\.html$ artikel.php?a=$1&b=$2 [L,QSA]
 mit .htm am Ende:
 RewriteRule ^([^\/]*)\/([^\/]*)\.htm$ artikel.php?a=$1&b=$2 [L,QSA]
 
 
 ---> aber kann man das nicht auch in einer Zeile erledigen,
 so dass Aufruf mit Slash oder ohne Slash oder mit .htm oder mit .html funktioniert
 
 ... also sowas wie ein "entweder .. oder" ... bzw. .... Liste erlaubter / möglicher Endungen
 
 irgendwas in Klammern mit ? Fragezeichen und | Oder Zeichen ... aber wie
 
 
- 
in: Im Div-Container den Text aus einer anderen Datei anzeigengeschrieben von sportinfo da es im HTML / Javascript Forum steht, vermute ich, er meint sowas mit Ajax in DIV laden
 
 Beispiel (Das DIV heisst hier "myDiv"
 
 Datei 1: ajax_test.htm
 <!DOCTYPE html> <html> <head> <title>Ajax Test</title> <script type="text/javascript"> function loadXMLDoc(id) { var milliseconds = new Date().getTime(); var filename = "ajax_info.php"; var readfile = "./"+filename+"?t="+milliseconds; var xmlhttp; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById(id).innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET", readfile, true); xmlhttp.send(); } </script> </head> <body> <div id="myDiv" style="margin:10px; padding:8px; background:#DEDEDE;"> <h2>Lass AJAX diesen Inhalt ändern</h2> <p>(Beipsiel: .. hier im DIV mit id="myDiv") </div> <p> </p> <p>... mit Button Klick ... <button type="button" onclick="loadXMLDoc('myDiv')">Change Content</button> </p> <p> </p> <p>... oder ... mit Link Klick ... <a href="javascript:loadXMLDoc('myDiv')">Change Content</a> ... </p> <p> </p> <p>... <a href="?">RESET</a> ... </p> <p> </p> </body> </html>
 
 Das Anhängen des (GET) Parameters ?t= (Milisekunden)
 var readfile = "./"+filename+"?t="+milliseconds;
 ist notwendig, damit ... wenn gewünscht ... nicht der Cache verwendet wird,
 sondern jeder Klick (Aufruf der Funktion) eine "neue" Anfrage sendet (und Ergebnis ausgibt)
 (das "Laden ohne Cache" kann man bestimmt auch anders machen, z.B. per .htaccss)
 
 
 und die Datei, (aus der die erzeugte Ausgabe gelesen und ins DIV geschrieben wird)
 
 Datei: ajax_info.php
 <?php // ---------------------------------------------- echo "<h2>Neuer Inhalt ist jetzt da</h2>\n"; if (!empty($_GET['t'])) { echo "<p>Miliseconds Time: ".$_GET['t']."</p>\n"; } echo "<p>Mehr Info oder PHP Code hier ... </p>\n"; // ---------------------------------------------- ?>
 
 anstatt der Datei ajax_info.php kannst Du auch eine .html oder einfche .txt Datei nehmen
 ... dazu die Zeile:
 ändernvar filename = "ajax_info.php";
 
 anstatt <div id="myDiv"> kannst du auch andere Elemente mit eindeutiger ID nehmen
 ... dazu den Funktions-Aufruf anpassen:
 (im Bsp 2x: Button und Link)loadXMLDoc('id_name')
 
 ich hoffe das hilft weiter :)
 
 
 
- 
in: Schwierige MySQL Abfrage PHPgeschrieben von sportinfo nochmal zu Auslesen:
 um Einträge mit Datum aus bestimmten Monat ( in bestimmten Jahr) zu finden
 wäre wohl eine Möglichkeit ... wenn Du Deine Datenbank-Struktur etwas änderst,
 und anstatt von (oder zusätzlich zum) DATETIME als ganzes Datum,
 jeweils nur Tag (date_day), Monat (date_month) und Jahr (date_year) in einzelne Spalten speicherst
 
 dann kannst Du Anfragen machen wie
 
 ... SELECT * FROM `tabelle` WHERE date_year = '2012' AND date_month = '09' ...
 
 oder .. ohne Daten-Struktur-Änderung
 ... Du erstellst Dir vor der Abfrage die zwei Datums-Grenzen
 (von Monats-Beginn bis Monats-Ende) als Datum-String
 und damit kannst Du dann eine Abfrage mit BETWEEN machen
 
 $von_datum = '2012-09-01'; $bis_datum = '2012-09-31'; $sql = "SELECT * FROM `tabelle` WHERE date BETWEEN '$von_datum' AND '$bis_datum' ";
 
 oder ... eventuell "besser"" ... mit MySQL Datums-Funktionen in der Abfrage
 $sql = "SELECT * FROM `tabelle` WHERE month(date) = '09' AND year(date)= '2012' ";
 
 alle Möglichkeiten siehe hier: MySQl Date and Time Functionsl
 
 
 oder als String behandeln und mit LIKE ?!? .. z.B. alles im September 2012
 
 SELECT * FROM `tabelle` WHERE date LIKE '20112-09-%'
 
 aber ob das geht (und gut ist) kann ich nicht sagen ...
 
 Wichtig ist halt, dass Du das richtige Datum-Format in den Daten hast: YYYY-mm-dd HH:ii:ss
 also mit PHP:
 zum Speichernn in die Spalte 'date'$datum = date('Y-m-d H:i:s');
 also nicht das "deutsche" Datums-Format sondern US-Format (bzw. das MySQL Standard-Format)
 
 
 zu den anderen Fragen:
 
 paddy-herrmy schrieb: 
 ich möchte also dass pro tag nur eine Spalte ausgegeben wird.
 
 
 meinst Du jetzt damit nur eine Daten-Zeile aus der Tabelle
 oder in der Ausgabe der Daten ??? ... dabei hilft ja dasGROUP BY DAY (date)
 
 in Ausgabe mit PHP (in der while-Schleife) ginge es vielleicht mit date_parse()
 dann kannst Du Die Ergebnisse in Array pro Tag legen und do ausgeben
 
 $ergebnis = array(); while($obj = mysql_fetch_object($result)){ $fulldate = $obj->date; $date_parts = date_parse($fulldate); $jahr = (int)$date_parts['year']; $monat = (int)$date_parts['month']; $tag = (int)$date_parts['day']; $ergebnis[$jahr][$monat][$tag][] = array ( 'message' => $obj->message , 'playerid' => $obj->playerid , 'fulldate' => $fulldate ); } print "<br>DEBUG Ausgabe: \n"; print "<pre>\n"; print_r($ergebnis); print "</pre>\n";
 
 Dann kannst Du mit foreach() die Elemente aus dem $ergebnis Array ausgeben
 gestaffelt nach Jahr, Monat, Tag (in den Array-Ebenen)
 
 also z.B. alle Tage im August 2012
 // ----- Start --- Schleife Tage --- foreach($ergebnis[2012][8] as $dkey => $item) { echo "<br />------------- Tag: ".$dkey."-------------\n"; $n=1; // ----- Start --- Schleife Daten --- foreach($item as $daydata) { echo "<br />-------- Nr: ".$n."--------\n"; echo "<br />".$item['playerid']."\n"; echo "<br />".$item['message']."\n"; $n++; } // ----- Ende --- Schleife Daten --- } // ----- Ende --- Schleife Tage ---
 
 
 oder alle Ergebnisse für den 11.09.,2012
 $n=1; // ----- Start --- Schleife Daten --- foreach($ergebnis[2012][9][11] as $item) { echo "<br />-------- Nr: ".$n."--------\n"; echo "<br />".$item['playerid']."\n"; echo "<br />".$item['message']."\n"; $n++; } // ----- Ende --- Schleife Daten ---
 
 
 oder halt doch gleich in der MySQL Abfrage
 also .... gleich Tag, Monat und Jahr auslesen und in "neue" Variable ablegen
 
 SELECT *, DAY(date) as tag, MONTH(date) as monat, YEAR(date) as jahr FROM `tabelle` WHERE .....
 aber ich weiss nicht ob man nach dem * noch weitere Werte mit Komma angeben kann
 sonst halt so
 SELECT message, playerid, date, DAY(date) as tag, MONTH(date) as monat, YEAR(date) as jahr FROM `tabelle` WHERE .....
 
 keine Ahnung ob das so funktioniert, wäre wohl geschickter
 denn dann könntest Du dir das date_parse() in der while() Schleife sparen
 und hättest direkt aus der Abfrage die "neuen" Variablen (bzw. als Objekte) ....
 
 ... uff .. schwere Geburt dieser Beitrag, aber hoffe es hilft :)
 
- 
in: mit java script zu div springengeschrieben von sportinfo warum Javascript
 
 du machst einfach vor dem DIV einen Anker-Punkt
 
 <a name="divname"></a> <div id="divname"> ... </div> 
 
 und als Link einfach als Ziel #ankername
 
 <a href="#divname">zum DIV springen</a> 
 
 dann "springt" der Browser zum Anker-Punkt
 
 wenn der Anker-Punkt auf einer anderen Seite ist,
 dann einfach vor das # die URL (Dateiname) zur Seite
 
 <a href="information.php#ankername">zum Ankername</a> 
 
 ist doch so viel einfacher, da braucht es doch kein JavaScript ?!
 
 Wenn es ein etwas smooth scrollen sein soll, und nicht ein direkter Sprung
 dazu gibt es dann doch JavaScripte .. BSP: http://www.kryogenix.org/code/browser/smoothscroll/
 oder jQuery plus das Plugin ScrollTo oder bestimmt noch andere Möglichkeiten
 
 
- 
in: Zeilenanzahl von Tabelle durch Variable bestimmengeschrieben von sportinfo Hallo
 
 Daten als Zeilen mit Spalten ....
 ... wie schon gesagt wurde, für sowas ist eigentlich Datenbank viel besser (MySQL)
 
 aber wenn es unbedingt .txt sein soll, dann ist hier das Stichwort: CSV !!!
 
 hier mal Beispiel für m_spieler.txt mit 3 Spalten:
 
 "Name";"Punkte";"Datum" "Supersonic","131","2012-06-27" "Donald","44","2012-06-21" "Horst","89","2012-05-22" "Jonny","131","2012-06-26"
 
 und als PHP in etwa so:
 // --------------------------------------------------------- $filename = 'textdateien/m_spieler.txt'; // --- Pfad und Datei-Name der CSV $strenner = ';'; // --- Spalten-Trenner-Zeichen der CSV $prozeile = '1024'; // --- maximale Zeichen pro Zeile // --------------------------------------------------------- $handle = fopen($filename, "r"); while (($data = fgetcsv($handle, $prozeile, $strenner)) !== FALSE) { $zeilen_data[]=$data; } fclose($handle); // ---------------------------------------------------------
 
 
 dann hast Du $zeilen_data als Array und kannst es mit foreach() ausgeben
 
 zum Beispiel so:
 
 
 $nbr = "\n"; echo '<table border="0" cellspacing="0" cellpadding="3" width="320">'.$nbr; $n=0; foreach($zeilen_data as $zeile) { $nr = $n; if ($n == 0) { $bgcol = '#CCCCCC'; $nr = ' '; } elseif (($n%2) == 0) { $bgcol = '#EFEFEF'; } else { $bgcol = '#FFFFEE'; } echo ' <tr style="background:'.$bgcol.';">'.$nbr; echo ' <td width="20">'.$nr.'</td>'.$nbr; echo ' <td width="120">'.$zeile['0'].'</td>'.$nbr; echo ' <td width="80">'.$zeile['1'].'</td>'.$nbr; echo ' <td width="100">'.$zeile['2'].'</td>'.$nbr; echo ' </tr>'.$nbr; $n++; } echo '</table>'.$nbr; echo '<br />'.$nbr;
 
 
 
 beachte dabei, dass die Spalten bei 0 (Null) anfangen,
 die Spalte 1 hat die Nummer [0] im Array,
 die Spalte 2 hat die Nummer [1] im Array, usw.
 
 aber nimm doch besser MySQL, das ist stabiler und viel besser,
 u.a. um bestimmte Zeilen (nach Bedingung) zu finden
 oder für Sortierung (nach Punkte / nach Dateum / etc)
 und viele weitere Vorteile ...
 
 
- 
in: Object-Inhalt immer als Array ?geschrieben von sportinfo Danke,
 stimmt, ich muss es ja garnicht immer in Array umwandeln,
 kann es ja auch ohne foreach ausgeben, wenn es kein Array ist
 ... ich dachte halt, es wäre schöner mit einheitlichen Daten-Struktur zu arbeiten
 auch für den Fall, die Ausgabe in eine andere Funktion auszulagern
 
 und ich glaube eine wichtige (verwirrende) Frage ist etwas untergegangen
 
 bei einem "stdClass Object" funktioniert es (zu Array machen wenn nicht)
 warum funktioniert es dann nicht bei einem "SimpleXMLElement Object" ???
 
 Daten als JSON ---> json_decode() ---> stdClass Object ----> Object zu Array machen funktioniert
 Daten als XML ---> simplexml_load_string() ---> SimpleXMLElement Object ----> funktioniert nicht
 
 ??? Logik? Gründe?
 
- 
in: Alle Datensätze mit beliebigem Wert in Spalte auslesengeschrieben von sportinfo wieso nicht die Select-Abrfage zusammensetzen ?!?
 
 Wenn $wert = '*'; dann alles abfragen ... sonst mit Bedingung ...
 
 if ($wert == '*') { $sql = "SELECT a,b,c,d FROM tabelle1"; // alles } else { $sql = "SELECT a,b,c,d FROM tabelle1 WHERE a ='".$wert."' OR b ='".$wert."' OR c ='".$wert."'"; } $abfrage = mysql_query($sql);
 
 und bist Du sicher, dass Du AND als weitere Bedingungen willst,
 dann kommen nur Treffer, wenn der gesuchte Wert in allen Spalten gleich ist
 und solche Spalten würden keinen Sinn machen, daher wohl eher OR (oder)
 also Treffer, wenn in mind. einem der Felder der Wert genau gleich ist
 
 Wenn es sich um Teil-Strings-handelt, die Du Suchen willst, dann geht das mit LIKE
 ... WHERE a LIKE '%".$wert."%' ...
 
 Info zu LIKE siehe hier: http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html
 
 oder was genau hast Du vor?
 
 
- 
in: Bild in Tabelle htmlgeschrieben von sportinfo das Prinzip ist immer das-selbe, egal welches Bild-Format, Bild Ausgabe in HTML mit IMG-Tag
 
 Infos: http://de.selfhtml.org/html/grafiken/einbinden.htm
 
 <img src="images//bild1.jpg" width="180" height="90" alt="Bild-Name" border="0" />
 
 und egal ob in Tabelle, in DIV oder sonst wo
 
 
 <table width="250" border="0" cellspacing="2" cellpadding="2"> <tr> <td width="58">jpg:</td> <td width="190"> <img src="images/bild1.jpg" width="90" height="50" alt="Bild" border="0" /> </td> </tr> <tr> <td width="58">jpeg:</td> <td width="190"> <img src="images/bild1.jpeg" width="90" height="50" alt="Bild" border="0" /> </td> </tr> <tr> <td width="58">gif:</td> <td width="190"> <img src="images/bild1.gif" width="90" height="50" alt="Bild" border="0" /> </td> </tr> <tr> <td width="58">png:</td> <td width="190"> <img src="images/bild1.png" width="90" height="50" alt="Bild" border="0" /> </td> </tr> </table>
 
 
 es sollte auch funktionieren, wenn Dein Bild als .jpeg vorliegt
 aber anstatt .jpeg wird meist eher .jpg verwendet ....
 
 
- 
in: Object-Inhalt immer als Array ?geschrieben von sportinfo Hallo
 
 ich habe ein Array, das Objekte enthält
 aber in den Daten sind bestimmte Felder manchmal (object) und manchmal (array of objects)
 
 wie kann ich die Daten so durchgehen,
 damit jeweils das Feld bilder->img immer als Array behandelt wird ?
 ... auch wenn es nur ein Bild enthält (kein Array ist, sondern direkt das Object)
 
 Beispiel: $daten
 
 => Array ( [0] => stdClass Object ( [title] => Name1 [bilder] => stdClass Object ( [img] => stdClass Object ( [url] => bild1a.jpg [alt] => Bild 1A ) ) [info] => Text blabla ) [1] => stdClass Object ( [title] => Name2 [bilder] => stdClass Object ( [img] => Array ( [0] => stdClass Object ( [url] => bild2a.jpg [alt] => Bild 2A ) [1] => stdClass Object ( [url] => bild2b.jpg [alt] => Bild 2B ) ) ) [info] => Text blabla ) [2] => stdClass Object ( [title] => Name3 [bilder] => stdClass Object ( [img] => stdClass Object ( [url] => bild3a.jpg [alt] => Bild 3A ) ) [info] => Text blabla ) )
 
 
 mein Versuch bisher ist es, in einer Schleife
 ... wenn es kein Array ist dann zu Array machen
 
 // ------------ Daten Ausgabe ------ $n=1; foreach($daten as $item) { echo "<br />Nr: ".$n."\n"; if (!is_array($item->bilder->img)) { $item->bilder->img = array($item->bilder->img); } // ------------ Ausgabe [img] Array ------ echo "<br />Bilder: \n"; $i=1; foreach($item->bilder->img as $imgitem) { echo "<br />".$i." --- ".$imgitem->url." ---".$imgitem->alt."\n"; $i++; } // ------------ echo "<br />\n"; $n++; } // ------------------------------
 
 bei stdClass Object funktioniert das, aber NICHT bei SimpleXMLElement Object
 
 also wenn die Daten aus simplexml_load_..... kommen, dann nicht ?!
 
 dann kommt bei dieser if-Zeile die Meldung:
 Warning: It is not yet possible to assign complex types to properties ... 
 
 Struktur ist die gleiche, nur der Object-Typ nicht, und das gibt den Fehler? ... höääää?
 warum?
 ... wie aus simplexml_load_... die Daten in $item->bilder->img immer als Array behandeln ?
 
 so, dass man immer die Ausgabe der Bilder in einer foreach() Schleife machen kann
 auch wenn nur ein einziges Bild im Datensatz ist (direkt als Onject, nicht als Array of Objects)
 
 
 Danke!