Suche auf lima-city
-
in: imap / pop3 - Mail als gelesen markieren ?
geschrieben von wmag
Hallo
ich habe eine imap-Verbindung zu einem pop3 Postfach
$mailbox = imap_open("{".$host.":".$port."/pop3".$ssl."}".$folder."",$user,$pass);
die Verbindung funktioniert, also ich kann alle Emails, Header, etc. auslesen.
auch das Lesen einzeler parts und das Löschen von Emails funktioniert,
ABER ... das setzten eine FLAGs
um Nachricht als "gelesen" markieren funktioniert nicht ?/Seen
... selbst mit imap_expunge() ist beim nächsten abholen der FLAG:seen bei dieser UID nicht gesetzt.
$myflag = "\\Seen"; // ---- Flag zum markieren als gelesen $msgid = '2'; // ---- die Message-Nummer [uid] $status1 = imap_setflag_full($mailbox, $msgid, $myflag, ST_UID); $status2 = imap_expunge($mailbox);
Eine DEBUG Ausgabe für $status1 und $status2 liefert jeweils TRUE, also Anfrage war Erfolgreich
komisch dabei ist,
dass bei Ansicht des E-Mail Postfach über ein Webmail-Interface die Mail als "gelesen" erscheint,
aber beim Abholen der Daten mit php + imap ist diese wieder nicht als "gelesen" markiert,
was mach ich falsch ?
... muss ich noch irgend etwas beachten / anders machen,
um eine Email per php + imap als "gelesen" zu markieren ???
Edit ...
... und ... die Emails kommen alle immer als [recent] => 1 an,
wenn ich Mails vorher schon einmal abgeholt habe,
dann sollten diese doch nicht mehr [recent] => 1 sein ??
... oder muss man für [recent] auch einen FLAG setzen ?
-
in: Prüfen ob eins von mehreren Zeichen in String vorhanden ?
geschrieben von wmag
Danke,
ich habe jetzt zwei Möglichkeiten ausprobiert, fund es funktionieren beide :)
Variante 1:
function check_zeichen1 ($string, $zeichen) { $res = false; foreach($zeichen as $z) { if (strpos($string,$z) !== false) { $res = true; } } return $res; } // ------------------------------------------------------------- $zeichen_arr = array(':',','); foreach($strings as $key => $val) { $status = check_zeichen1($val, $zeichen_arr); if ($status === true) { $treffer = 'ja'; } else { $treffer = 'nein'; } print "<br />".$key." --- ".$val." --- ".$treffer."\n"; }
Variante 2:
function check_zeichen2 ($string, $zstr) { $out = (strcspn($string, $zstr) != strlen($string)) ? 'ja' : 'nein'; return $out; } // ------------------------------------------------------------- $zeichen_str = ':,'; foreach($strings as $key => $val) { $treffer = check_zeichen2 ($val, $zeichen_str); print "<br />".$key." --- ".$val." --- ".$treffer."\n"; }
Variante 1 gibt (bool) TRUE / FALSE zurück ... und Variante 2 gibt (string) 'ja' / 'nein' zurück
... ist wohl egal, wie man die Rückgabe macht, wichtig ist dass das Ergbnis stimmt :)
PS: wie man das jetzt mit switch() machen könnte, habe ich noch nicht raus-gefunden ?!
das wäre doch eher was für mehrere verschiedene Fälle, aber ich habe hier nur ja / nein
deshalb ist wohl eine einfache if() Bedingung ausreichend.
EDIT: ok, der Beitrag mit dem switch() Vorschlag wurde wohl gelöscht,
das sagt mir, es war wohl keine gute Idee ... also vergessen wir das ;)
-
in: Prüfen ob eins von mehreren Zeichen in String vorhanden ?
geschrieben von wmag
Hallo
ich möchte prüfen, ob mind. ein Zeichen (von mehreren zur Auswahl) in einem String vorhanden sind
Beispiel:
die zu prüfenden Zeichen sind
.... Doppelpunkt
... und ... Komma:
,
ein paar Test Strings
$strings = array( '1' => 'Diesers Beispiel ist: ganz einfach', '2' => 'Dieser Text ist nur ein Beispiel', '3' => 'Nur ein Beispiel, dieser kleine Text', '4' => 'Text als Beispiel; einfach nur so', '5' => 'Dieser Text ist: Beispiel, aber doppelt', );
jetzt habe ich die Prüfung zwar mit strpos() hinbekommen
foreach($strings as $key => $val) { if ( strpos($val,':') !== false || strpos($val,',') !== false ) { $treffer = 'ja'; } else { $treffer = 'nein'; } print "<br />".$key." --- ".$val." --- ".$treffer."\n"; }
Ergebnis:
1 --- Diesers Beispiel ist: ganz einfach --- ja 2 --- Dieser Text ist nur ein Beispiel --- nein 3 --- Nur ein Beispiel, dieser kleine Text --- ja 4 --- Text als Beispiel; einfach nur so --- nein 5 --- Dieser Text ist: Beispiel, aber doppelt --- ja
aber wenn ich mal andere Zeichen prüfen möchte, als die
und:
aus dem Beispiel,
dann müsste ich die Zeile mit
jedesmal einzeln anpassen,if ( strpos(...
Wie kann ich diese "Zeichen in String Prüfung" so machen,
damit ich auch andere (und beliebig viele) Zeichen ab-prüfen kann ?
-
in: url immer mit http
geschrieben von wmag
..... auch auf die Gefahr hin, das ich mich jetzt unbeliebt mache ... meine Meinung:
@czibere ... ich finde Deine Antworten ein bischen unfreundlich
auch wenn für Dich manches vielleicht ganz klar ist (und Dir die Fragen "dumm" vorkommen)
ist es wenig hilfreich einfach zu schreiben ... lies doch die Anleitung ... und "begreife" sie ...
-
in: Highlight Wort mit goß/klein Schreibung egal ?
geschrieben von wmag
Hallo
ich möchte wenn ein Wort in einem Text vorkommt, dieses hervorheben (Highlight)
egal ob die groß-/klein-Schreibung übereinstimmt.
aber wenn ich es mit str_ireplace() mache, dann ändert sich die groß-/klein-Schreibung :(
Beispiel:
$word = 'webspace'; $string = 'Lima-City bietet kostenlosen Webspace und eine tolle Community im Forum'; // ------ hier wird das Wort nicht erkannt ... wegen groß-/klein-Schreibung ------ $string_a = str_replace($word, '<strong style="color:blue;">'.$word.'</strong>', $string); // ------ hier wird das Wort erkannt ... aber es ändert sich die groß-/klein-Schreibung ------ $string_b = str_ireplace($word, '<strong style="color:blue;">'.$word.'</strong>', $string);
bei $string_b mit str_ireplace() kommt dabei dann das raus:
Lima-City bietet kostenlosen <strong style="color:blue;">webspace</strong> und eine tolle Community im Forum
wie kann ich es machen, dass im Ergebnis-String das Wort immer erkannt wird,
egal ob die groß-/klein-Schreibung übereinstimmt .... aber dann nicht geändert wird.
so dass ich als neuen String dann das bekomme,
Lima-City bietet kostenlosen <strong style="color:blue;">Webspace</strong> und eine tolle Community im Forum
also das Wort "Webspace" soll weiterhin mit Groß-Buchstabe beginnen,
auch wenn das "Suchwort" nur klein war ...
---> also im Text das Wort hervorheben und die (original) groß-/klein-Schreibung beibehalten
obwohl mein $word nur in Klein-Buschstaben ist, aber das Treffer-Wort im Text: erster Buchstabe = groß
... in diesem speziellen Fall ginge es wohl mit ucfirst()
aber dann würde ein Wort-Treffer im Text, der nur Klein-Buchstaben war auch "falsch" geändert
ich will ja auch das es andersrum funktioniert ($word hat Großbuchstaben umd Treffer im Text nicht)
oder auch andere denkbare Situautionen wie alle Buchstaben im $word oder im Text groß
-
in: Div-Container soll eine feste größe haben
geschrieben von wmag
Hallo
wenn Du eine feste Größe in Pixel definiert hast,
dann wird sich der Div-Container auch nicht "verkleinern"
wenn man das Browser-Fenster "verkleinert"
hast Du vielleicht anstatt width: und heigt:
<div style="width:500px; height:200px; background:#CCFFAA; margin:20px; padding:10px;"> Inhalt Blabla </div>
die Definition mit max-width: und max-height: gemacht,
<div style="max-width:500px; max-height:200px; background:#CCFFAA; margin:20px; padding:10px;"> Inhalt Blabla </div>
dann könnte es sein, das sich der der Div-Container mit "verkleinert" (an Browser-Fenster anpasst)
sonst ... bitte mal den Code des betroffenen DIV hier posten, ggf. auch den Link zur Seite / Ansicht
-
in: mehrere DIVs mit gleichen Prefix ausblenden ?
geschrieben von wmag
OK, mit der "neuen" ShowDiv.js funktioniert es
aber komisch, ich hatte den Code der "alten" ShowDiv.js
per copy+pase einfach 1 zu 1 kopiert, und nichts daran geändert
(außer eine Leerzeile oben und unten mit rein, was aber ja nichts ausmachen kann)
naja, egal wie und warum auch immer das < zu einem > wurde,
... jetzt geht es mit der "neuen" ShowDiv.js
und die eine Funktion aus ZIndex.js könnte man doch acuch
oben in die DragDivBox.js mit rein bauen, dann sind es nur 2 .js Dateien
finde es bischen übertrieben für die kleine Zindex-Funktion eine eigene .js Datei zu haben
Eine Kleinigkeit interessiert mich noch,
... wenn man eine DIV-Box verschoben hat, dann ausbledet und dann wieder einblendet,
erscheint sie wieder an der Position, wo man sie zuletzt hingeschoben hatte
Wunsch wäre also optional (weiterer Parameter), der (wenn = 1 / true) ... bewirkt,
dass beim wieder-einblenden die Box zurück an Ihrer Standard-Position erscheint
... geht warhscheinlich auch mit d.getElementById(boxid).style. ....
oder kann man die Position irgendwie anders einfach Reset (zu Start-Position) machen ?
Danke !! -
in: mehrere DIVs mit gleichen Prefix ausblenden ?
geschrieben von wmag
menschle schrieb:
Und alles zusammen (ein/ausblenden, verschieben, in Vordergrund holen) sieht dann so aus.
Viel Spaß beim fummeln.
Vielen Dank @menschle für das tolle Beispiel,
bei Dir funktioniert es auch
ABER wenn ich mir die Codes (der 4 Dateien: 1x .html und 3x .js) kopiere
und 1 zu 1 auf meinem Webspace teste, dann klappt dort nicht Alles ???? ... siehe: mein TEST hier
die DIVs einzeln einblenden und ausblenden fuktioniert immer
und ... alle info DIVs ein-/ oder ausblenden geht auch
aber - alle user DIVs ein-/ oder ausblenden funktioniert nicht ?
Auch bei "Alle DIVs einblenden" werden bei mir nur die info DIVs eingeblendet ?
Wenn ich die user DIVs einzeln eingeblendet habe, kann ich sie auch nur einzeln wieder schließen,
... auch wenn ich "Alle DIVs ausblenden" machen, oder "Alle user DIVs ausblenden" klicke,
dann bleiben die user DIVs immer sichtbar ?!? .. kann die user DIVs nur einzeln ein-/aus-blenden ???
Ich habe Dein Beispiel sieht dann so aus doch 1 zu 1 übernommen,
...... aber warum geht es dann bei mein TEST hier (nach 1 zu 1 copy+paste) zum Teil nicht ?!
hääää? ... ich nix verstehen .. gleicher Code, gleicher Browser aber unterschiedliches Verhalten
-
in: Unterschiedliche Dateigröße: Client - Server ?
geschrieben von wmag
Hallo
ich habe als Test eine Datei mit PHP erstellt, die hat am Server (FTP) die Größe: 3988441 Byte
dann habe ich diese Datei per FTP auf meinen PC geholt, dort hat sie aber nun: 4019801 Byte
Die Datei ist eine .txt Datei und enthält 31360 Zeilen mit je ca. 135 Zeichen pro Zeile
Wie kann das sein, dass die Datei am Client (= Win7 64 Bit - NTFS)
eine andere Größe hat als auf dem (FTP) Server (= Linux x86_64) ?
... evtl weil Linux ein anderes Dateisystem als Windows (NTFS) hat ?
Erstellt habe ich die Datei mit Zeilenumbruch nur "\n"
aber wen ich sie in Windows öffne, dann sehe ich die Zeilenumbrüche ?!?
... hat mein FTP-Programm (WS_FTP_LE) einfach das "\r" hinzugefügt, und deshalb größer ?
so siehts ja aus,
denn ohne das "\r" ist doch in Win der Zeilenumbruch nicht als socher zu sehen, oder?
-
in: php mehrdimensionales Array in String konvertieren
geschrieben von wmag
ich wess jetzt nicht, wie die einzelnen Zeilen der 3 Quell-Dateien kombiniert werden sollen,
aber hier mal ein Beispiel, wie manes machen könnte:
<?php // ------------------------------------------------------- // ------------ PHP --- Text-Builder --- V.0.1 ----------- // ------------------------------------------------------- // ------------------------------------------- // ---------- Text Dateien (Quelle) ---------- $txt_file1 = 'daten_pfad/text_datei1.txt'; $txt_file2 = 'daten_pfad/text_datei2.txt'; $txt_file3 = 'daten_pfad/text_datei3.txt'; // ------------------------------------------- // ----------- Dateien zu Arrays ------------- $txt_data1 = file($txt_file1, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $txt_data2 = file($txt_file2, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $txt_data3 = file($txt_file3, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); // --------------------------------------------------- // --------- Ziel-Datei zum schreiben (open) --------- $save_file = 'daten_pfad/alle_texte.txt'; $handle = fopen($save_file, 'w', 0666); // ----------------------------------------------------------- // --------- String Zusammenbau und Zeilen schreiben --------- foreach($txt_data1 as $item1) { foreach($txt_data2 as $item2) { foreach($txt_data3 as $item3) { // ------ String aus Telen kombinieren ---------- // ------ mit Leerzeichen zwischen den Teilen --- $mystring = ''.$item1.' '.$item2.' '.$item3.''; // ------ String in Ziel-Datei schreiben -------- // ------ mit Zeilenumbruch am Ende der Zeile --- fwrite($handle, $mystring."\n"); } } } // -------------------------------------------------- // --------- Ziel-Datei schliessen (close) --------- fclose($handle); // -------------------------------------------------- // -------------- DEBUG Ausgabe (Test) -------------- $ergebnis = file($save_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); print "<br />\n"; print "<br />\n"; print "<pre style=\"margin:4px; padding:6px; text-align:left; background:#DEDEDE;\">\n"; print_r($ergebnis); print "</pre>\n"; print "<br />\n"; print "<br />\n"; // ------------------------------------------------------- ?>
Anstelle der Leerzeichen (als Trenner) zwischen den Teilen (items)
kann man ja auch ein Komma (oder was auch immer) machen:
Anstatt innerhalb der foreach-Schleifen in die Ziel-Datei zu schreiben,
könnte man auch alle Zeilen in eine String-Variable zusammenbauen
und dann am Ende (nach den foreach-Schleifen) diese Daten schreiben
der Code-Teil dazu wäre dann so:
// --------------------------------------------------- // --------- Ziel-Datei zum schreiben (open) --------- $save_file = 'daten_pfad/alle_texte.txt'; $handle = fopen($save_file, 'w', 0666); $mystring = ''; // ----------------------------------------------------------- // --------- String Zusammenbau und Zeilen schreiben --------- foreach($txt_data1 as $item1) { foreach($txt_data2 as $item2) { foreach($txt_data3 as $item3) { // ------ String aus Telen kombinieren ---------- // ------ mit Leerzeichen zwischen den Teilen --- // ------ mit Zeilenumbruch am Ende der Zeile --- $mystring .= ''.$item1.' '.$item2.' '.$item3.' . "\n"'; } } } // -------------------------------------------------- // ------ String in Ziel-Datei schreiben -------- fwrite($handle, $mystring); // -------------------------------------------------- // --------- Ziel-Datei schliessen (close) --------- fclose($handle);
... je nachdem wie groß die Quell-Dateien sind, kann dabei der $mystring sehr groß werden,
wenn man alle Zeilen in diese eine Variable zusammen baut,
.... andererseits, wen man die Zeilen schon innerhalb der foreach-Schleifen schreibt,
und die Quell-Dateien viele Zeilen haben, dann muss der fwrite() Befehl sehr oft aufgerufen werden.
kann jetzt auch nicht sagen, was besser ist, ob Zeile je gleich schreiben oder am Ende alles schreiben
das ist ja auch von den Quell-Daten abhängig
... und den Zusammenbau (in den 3 verschactelten foreach-Schleifen) aus den Teilen (items)
kann man sicher auch anders machen, ich habe halt mal ne "einfache" Variante genommen,
also Teile aus Textdatei1 immer an erster Stelle, Teile aus Textdatei2 an 2ter Stelle, usw.
Wenn man das auch anders herum kombinieren will, kann man das ja entsprechend einfügen
$mystring .= ''.$item2.' '.$item1.' '.$item3.' . "\n"'; $mystring .= ''.$item3.' '.$item2.' '.$item1.' . "\n"'; $mystring .= ''.$item2.' '.$item1.' '.$item3.' . "\n"'; $mystring .= ''.$item2.' '.$item3.' '.$item1.' . "\n"'; // usw...
je nachdem wie die Quell-Daten aufgebaut sind und was man damit machen will
... was will der TE eigentlich machen ??? .... Keyword-Liste ? ... Content aus Text-Bausteine ?
-
in: php mehrdimensionales Array in String konvertieren
geschrieben von wmag
Also .... ich glaube das
ist falsch,array ('\r', '\n')
es muss in "doppelte" Anführungszeichen, so;array ("\r", "\n")
Vielleicht einfach im str_replace den zweiten Parameter auch als Array
so dass für jedes Elemet aus dem ersten Parameter ausch ein Ersetzung definiert ist
$test = str_replace( array("\n", "\r") , array('', '') , $test );
oder halt einfach in 2 Zeilen
$test = str_replace( "\r", '' , $test ); $test = str_replace( "\n", '' , $test );
oder doch gleich beim Einlesen der Text-Dateien mit den Flags für file()
$data[0] = file($testfile1, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $data[1] = file($testfile2, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $data[2] = file($testfile3, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
Wie sehen denn die Textdateien aus und wie willst du diese kombinieren ? ... ein Beispiel ?
-
in: PHP Minusstunden und normale Stunden summieren
geschrieben von wmag
Hallo
habe auch bischen damit rum gespielt, hier mein Ergebnis:
<?php // ------------------------------------------ $stunden_daten = array ( '0:15', // --- Gesamt: 0:15 '0:45', // --- Gesamt: 1:00 '2:15', // --- Gesamt: 3:15 '-0:30', // --- Gesamt: 2:45 '1:15', // --- Gesamt: 4:00 '-1:00', // --- Gesamt: 3:00 '-0:45', // --- Gesamt: 2:15 '-2:30', // --- Gesamt: -0:15 ); // ------------------------------------------ echo "<br />\n"; echo "<br />\n"; $gesamt_dez = 0; foreach ($stunden_daten as $std_item) { if( strpos($std_item, '-') === FALSE ) { $zdir = 'plus'; } else { $zdir = 'minus'; } // --- Test 1 --- Berechnung Sekunden ---- $seconds1 = strtotime('1970-01-01 '.str_replace('-','',$std_item).':00 GMT'); $std_parts = explode(':',$std_item); $std_dez = ( abs($std_parts[0]) + ($std_parts[1] / 60) ); // --- Test 2 --- Berechnung Sekunden ---- $seconds2 = ( ($std_dez * 3600) ); // --- Test 3 --- Berechnung Sekunden ---- $seconds3 = ( ($std_parts[0] * 3600) + ($std_parts[1] * 60) ); $erg_std1 = ($seconds1 / 3600); if ($zdir == 'minus') { $erg_std1 = ($erg_std1 * -1); } $gesamt_dez = ($gesamt_dez + $erg_std1); // --- Dezimal --- $gesamt_std = floor(abs($gesamt_dez)); $gesamt_tmp = ( ($gesamt_dez - $gesamt_std) * 100 ); $gesamt_min = abs( ($gesamt_tmp * 60) / 100 ); $gesamtzeit = $gesamt_std.':'.$gesamt_min; // --- Wenn negativ dann Minus-Zeichen davor if ($gesamt_dez < 0) { $gesamtzeit = '-'.$gesamtzeit; } echo "<br />--------------------------------\n"; echo "<br />Datenzeile: ".$std_item."\n"; echo "<br />Z. Dezimal: ".$std_dez."\n"; echo "<br />Vorzeichen: ".$zdir."\n"; echo "<br />Seconds. 1: ".$seconds1."\n"; echo "<br />Seconds. 2: ".$seconds2."\n"; // --- Test 2 --- Berechnung Sekunden ---- echo "<br />Seconds. 3: ".$seconds2."\n"; // --- Test 3 --- Berechnung Sekunden ---- echo "<br />Stunden. A: ".$erg_std1."\n"; echo "<br />MinutenTMP: ".$gesamt_tmp."\n"; echo "<br />Zwischensumme Dezimal: ".$gesamt_dez."\n"; echo "<br />Zwischensumme Stunden: ".$gesamtzeit."\n"; echo "<br />\n"; echo "<br />\n"; } echo "<br />\n"; echo "<br />\n"; echo "<br />Gesamt Dezimal: ".$gesamt_dez."\n"; echo "<br />Gesamt Stunden: ".$gesamtzeit."\n"; echo "<br />\n"; echo "<br />\n"; // ------------------------------------------ ?>
mit verschiedenen "Wegen" um die Zeit in Sekunden umzurechnen,
da kann man sich eine (!) aussuchen, und die anderen weglassen :=)
Ausgabe mit allen Tests und Debug-Infos ist:
-------------------------------- Datenzeile: 0:15 Z. Dezimal: 0.25 Vorzeichen: plus Seconds. 1: 900 Seconds. 2: 900 Seconds. 3: 900 Stunden. A: 0.25 MinutenTMP: 25 Zwischensumme Dezimal: 0.25 Zwischensumme Stunden: 0:15 -------------------------------- Datenzeile: 0:45 Z. Dezimal: 0.75 Vorzeichen: plus Seconds. 1: 2700 Seconds. 2: 2700 Seconds. 3: 2700 Stunden. A: 0.75 MinutenTMP: 0 Zwischensumme Dezimal: 1 Zwischensumme Stunden: 1:0 -------------------------------- Datenzeile: 2:15 Z. Dezimal: 2.25 Vorzeichen: plus Seconds. 1: 8100 Seconds. 2: 8100 Seconds. 3: 8100 Stunden. A: 2.25 MinutenTMP: 25 Zwischensumme Dezimal: 3.25 Zwischensumme Stunden: 3:15 -------------------------------- Datenzeile: -0:30 Z. Dezimal: 0.5 Vorzeichen: minus Seconds. 1: 1800 Seconds. 2: 1800 Seconds. 3: 1800 Stunden. A: -0.5 MinutenTMP: 75 Zwischensumme Dezimal: 2.75 Zwischensumme Stunden: 2:45 -------------------------------- Datenzeile: 1:15 Z. Dezimal: 1.25 Vorzeichen: plus Seconds. 1: 4500 Seconds. 2: 4500 Seconds. 3: 4500 Stunden. A: 1.25 MinutenTMP: 0 Zwischensumme Dezimal: 4 Zwischensumme Stunden: 4:0 -------------------------------- Datenzeile: -1:00 Z. Dezimal: 1 Vorzeichen: minus Seconds. 1: 3600 Seconds. 2: 3600 Seconds. 3: 3600 Stunden. A: -1 MinutenTMP: 0 Zwischensumme Dezimal: 3 Zwischensumme Stunden: 3:0 -------------------------------- Datenzeile: -0:45 Z. Dezimal: 0.75 Vorzeichen: minus Seconds. 1: 2700 Seconds. 2: 2700 Seconds. 3: 2700 Stunden. A: -0.75 MinutenTMP: 25 Zwischensumme Dezimal: 2.25 Zwischensumme Stunden: 2:15 -------------------------------- Datenzeile: -2:30 Z. Dezimal: 2.5 Vorzeichen: minus Seconds. 1: 9000 Seconds. 2: 9000 Seconds. 3: 9000 Stunden. A: -2.5 MinutenTMP: -25 Zwischensumme Dezimal: -0.25 Zwischensumme Stunden: -0:15 Gesamt Dezimal: -0.25 Gesamt Stunden: -0:15
.. also es scheint zu funktionieren ...
und nicht vergessen, ... nicht 1 zu 1 übernehmen, es genügt eine Variante der Sekunden-Brechnung
... den Test 2 und Test 3 kann man weg-lassen ... wollte nur verschiedene "Rechen-Wege" testen
:)
-
in: mehrere DIVs mit gleichen Prefix ausblenden ?
geschrieben von wmag
jo, Danke!
also Klasse als Identifier ist denke ich eher nicht geeignet, hatte ich auch schon dran gedacht,
aber es gibt ja keinen Selector für ne Klasse ... document.getElementByClass()
sondern "nur" für IDs: document.getElementById() ... daher ja die Idee mit Prefix in der ID
Das mit dem Array ist ne gute Idee, vorallem die Box-Namen fortlaufende Nummern sind
und wenn die Box-Namen irgendwelche Zahlen / Strings sind,
dann kann ich ja auch das Array entsprechend (vorher) zusammen bauen
<div id="info_box_1234"> ... </div> <div id="info_box_3427"> ... </div> <div id="info_box_test2"> ... </div>
dann wohl so anfangen:
info_box_data = new Array( '1234', '3427', 'test2' );
dann als Funktion dann: ... Value von
... für Zusammenbau: ID-Stringinfo_box_data[i]
function alle_info_ausblenden() { for (i = 1; i < info_box_data.length + 1; i++) { document.getElementById('info_box_' + info_box_data[i] + '').style.display = "none"; } }
... und Zusammen mit den Prefix-String (hier: 'info') mit in Funktions-Aufruf als Parameter
function alle_info_ausblenden(prefix) { for (i = 1; i < info_box_data.length + 1; i++) { document.getElementById('' + prefix + '_box_' + info_box_data[i] + '').style.display = "none"; } }
... ich hoffe ich hab das jetzt richtig :)
denn ein bischen verwirrt war ich, weil Du aus<div id="info_box_1"> ... </div>
dann
in Deinem Beispiel gemacht hast<div id="info_box[1]"> ... </div>
... was ja sehr nach Array "aussieht", aber dann im JS doch quasi als "String" behandelt wird.
es sollte doch genauso als String mit _ (Unterstrich) funktionieren (für Zusammenbau: ID-String)
Das mit jquery sieht ja wirklich sehr viel einfachr aus :)
mit jQuery habe ich noch keine Erfahrung, nur mal kurz angeschaut, und schon was gefunden:
damit könnte man dann wohl auch noch eine Animation (Slide In/Out, Fade In/Out) machen
... aber kann jeder Browser mit jQuery, oder wie "mächtig" ist das, frisst das viel Performance ?
weiter muss ich mir noch was dazu überlegen,
wie ich die einzelnen Boxen auch "überlappend" machen kann,
und bei Klick die "aktivierte" Box in den Vordergrund stellen ... z-index ... wahrscheinlich
oder gleich so, dass man sie selbst frei am Bildschirm verschieben kann,
weil diese sonst (wie jetzt mit position:absolute; top/left) anderen Content der Seite überdecken,
der dann eben nicht mehr sichtbar ist, weil ja die Box an der Stelle darüber eingeblendet wurde ...
naja, erstmal Danke für die guten Anregungen ... ein/aus-blenden mit Array oder mit jQuery
-
in: mehrere DIVs mit gleichen Prefix ausblenden ?
geschrieben von wmag
Hallo
ich habe auf einer Seite die Möglichkeit, dass man sich
verschiedenen Info-Boxen (DIVs) ein-/aus- belnden kann. (öffnen / schließen)
Aber man muss jede eingeblendete DIV-Box einzeln (per Klick) wieder ausblenden (schließen)
Code-Beispiel:
<html> <head> <title>Homepage Titel</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript"> //<![CDATA[ function einblenden(boxid) { document.getElementById(boxid).style.display = "block"; } function ausblenden(boxid) { document.getElementById(boxid).style.display = "none"; } // ]]> </script> <style type="text/css"> <!-- .boxstyle1 { display:none; width:300px; height:200px; margin:0 auto; padding:10px; text-align:left; background:#FFFFCC; border:2px solid #AAAAAA; --> </style> </head> <body style="color:#000000; background:#EFEFEF;"> <div id="wrapper" style="text-align:center;"> <br> <br> <br> <p>OPEN: <a href="javascript:einblenden('info_box1');">DIV: <strong>info_box1</strong> einblenden</a> (öffnen) </p> <p>OPEN: <a href="javascript:einblenden('info_box2');">DIV: <strong>info_box2</strong> einblenden</a> (öffnen) </p> <p>OPEN: <a href="javascript:einblenden('info_box3');">DIV: <strong>info_box3</strong> einblenden</a> (öffnen) </p> <br> <br> <br> <div id="info_box1" class="boxstyle1" style="position:absolute; top:190px; left:50px;"> <h2>INFO Box Nr. 1</h2> <p>Hier ist der Inhalt .... </p> <p>CLOSE: <a href="javascript:ausblenden('info_box1');">DIV: <strong>info_box1</strong> ausblenden</a> (schließen) </p> <p>bla blabla ...</p> </div> <div id="info_box2" class="boxstyle1" style="position:absolute; top:190px; left:400px;"> <h2>INFO Box Nr. 2</h2> <p>Hier ist der Inhalt .... </p> <p>CLOSE: <a href="javascript:ausblenden('info_box2');">DIV: <strong>info_box2</strong> ausblenden</a> (schließen) </p> <p>bla blabla ...</p> </div> <div id="info_box3" class="boxstyle1" style="position:absolute; top:190px; left:750px;"> <h2>INFO Box Nr. 3</h2> <p>Hier ist der Inhalt .... </p> <p>CLOSE: <a href="javascript:ausblenden('info_box3');">DIV: <strong>box3</strong> ausblenden</a> (schließen) </p> <p>bla blabla ...</p> </div> <br> <br> <br> </div> </body> </html>
Ich suche jetzt eine Möglichkeit, wie ich mit einem einzigen Klick
alle DIVs (die ein bestimmtes Prefix haben) ausblenden (schließen) kann.
also es gibt nicht nur info_box<NR> sondern auch user_box<ID>
wie muss eine JavaScript function() sein, damit ich per 1x Klick
alle sichtbaren Boxen mit dem Prefix 'info_' ausblenden will
function closeboxes(prefix) { // wie alle DIVs mit dem 'prefix' in der ID ausblenden .... ? }
irgendwie mit Suche / Liste / Schleife mit allen IDs, die den 'prefix' als Teilstring haben ?
und auch noch eine function(), die auch einfach alle (egal welcher Prefix) ausblenden kann
... aber wie geht das .. alle sichbaren Boxen / bzw. nur die mit Prefix ... finden ... und ausblenden
wenn es überhaupt so machbar ist ??
-
in: Fehler in mysql (Sql Syntax)
geschrieben von wmag
achso,
weil mir das komisch vorkam,
denn mit einer DB-Tabelle will man ja was "zuordnen" wie ID --> Name
aber mit einer Spalte kann ja schlecht was zugeordnet werden
also (schätze ich mal) DU willst mit dem Teil testen,
ob der MySQL INSERT Befehl funktioniert ? ...
... das könnte man doch aber auch mit nur einer Zeile genauso testen
wenn es darum geht, zu Testen, wieviele "gleichzeitige" INSERTs möglich sind,
dass sollte man doch evtl. mehr Daten als 1, 2, 3, 4, 5, ... nehmen,
denn wenn jede Zeile der "echten" Daten auch viele Zeichen / Bytes enthalten,
könnte ja Problem bei sowas wie max_execution_time oder memory_limit oder ... auftreten
Also wenn mit VALUES 1, 2, 3,... bis zu 1000 INSERTS gleichzeitig funktionieren,
dann ist nicht garantiert, das es auch mit 1000 Artikeln (mit viel Text) funktioniert.
oder geht es beim Testen um was ganz anderes? .... -
in: Fehler in mysql (Sql Syntax)
geschrieben von wmag
nur eine Spalte ???
... dann musst du die Klammer um jede Zahl machen
INSERT INTO `test` ( `test1` ) VALUES (0), (1), (2), (3), (4), (5), ... usw. ...
aber ... fortlaufende Zahl in nur eine Spalte ???
... da frag ich mal lieber nicht "warum?"
... oder nach dem "Sinn" ... :O... EDIT: oh, da war wohl einer schneller :)