Skype Zeilenumbruch

Hallo,

für alle die es so vermissen wie ich: Der Zeilenumbruch ist jetzt durch SHIFT + ENTER möglich und nicht mehr durch STRG + ENTER. Das hat mich die letzte Zeit viele Nerven gekostet, aber jetzt sollte wieder alles im Lot sein :)

mfg

Ralph

Fehlerhafte Zeichen in der Datenbank ersetzt

Hallo,

für alle Leute, die gerne mal CSVs direkt in die Datenbank bekommen, die einen unterschiedlichen Zeichensatz haben hier mal etwas nettes:

update TABELLE set FELD=replace(FELD ,'ö','ö') where FELD like '%ö%';

Das ist nicht die netteste Lösung, aber Sie hilft die Gröbsten Fehler raus zu bekommen. Natürlich ist es noch schöner das vor der Datenbank abzufangen, aber was in der Datenbank drin ist, muss man nun mal berichtigen :)

Wenn Element vorhanden, dann Error

Hallo,

gerade spiele ich mal wieder viel mit Javascript herum, um mal ein paar schöne Sachen zu Zaubern. Es bringt ja viele Möglichkeiten mit sich und daher sollte man nicht drauf verzichten. Die paar Dinos mit den Alten nicht Java fähigen Browsern haben halt Pech gehabt :) . Der Anteil ist sowieso so gering, das es sich gar nicht mehr lohnt in beide Richtungen zu Programmieren (Für Java fähige und Java unfähige Browser).

Bei einer längeren Messung lag der Anteil unter 1% und darunter waren meistens Leute, die keine Javascripte aktiviert hatten.

Jetzt aber mal zu dem Beitrag:
Ich wollte testen ob ein Element schon vorhanden ist, sonst dürfte man es dazu setzen. Einfachste Lösung ist:
var text = document.getElementById("Text_Set").value;
if(document.getElementById("set_" + text)){
window.alert("Text bereits gesetzt");
}else{
document.getElementById("Texte").innerHTML += '

' + text + '

';
document.getElementById("Text_Set").value = "";
return true;
}

Das ganze macht bei einigen Sonderzeichen Probleme, aber wenn man es, wie ich, nur für Zahlen braucht, ist es super angenehm :) . Hoffe euch etwas geholfen zu haben :)

Kate – Datein IMMER im neuen Fenster öffnen

Hallo,

hatte seit der SuSe 11.3 das Problem, das Kate scheinbar nur noch alle Dateien in einer Sitzung öffnen kann. Das macht es etwas doof für meine Zwecke, weil ich gerne mal ein neues Kate gestartet habe um da etwas zu notieren und da wandern dann alle Fenster rein. Dadurch musste man erst mal alle Kate Sitzungen durch klicken, bevor ich das gesuchte gefunden habe :)

Die Lösung war einfach und effektiv:

Rechtsklick -> Eigenschaften -> Öffnen mit -> Hinzufügen -> kate -n

Das ist zwar nicht die schönste Lösung, weil man das pro Dateiendung machen kann, aber etwas besseres hab ich leider nicht gefunden ;(

Wer eine bessere Idee hat immer her damit :)

MySQL Beispiel Datenbank

Um eine gute Basis zu haben für zukünftige Beiträge werde ich jetzt mal hier eine kleine Standard-Datenbank festlegen. In dieser werde ich dann immer die MySQL Abfragen durchführen.

Als erstes braucht Ihr eine leere Datenbank dazu. Meine Beispieldatenbank heißt einfach beispieldb. Ist eigentlich egal wie sie heißt und theoretisch könnt Ihr das auch in eine bestehende Datenbank machen, es darf nur nicht schon eine Tabelle vorhanden sein.

Für alle, die lieber die SQL Datei haben zum direkten Import hier klicken. Die Aufgaben der einzelnen Tabellen variieren von Beispiel zu Beispiel. Werde da jedes mal drauf eingehen.

Fangen wir mal an und legen zuerst mal die Kunden Tabelle an:
CREATE TABLE IF NOT EXISTS `kunden` (
`Kunden_ID` int(11) NOT NULL auto_increment,
`Kunden_Name` varchar(255) NOT NULL,
`Kunden_Vorname` varchar(255) NOT NULL,
`Kunden_Status_ID` int(11) NOT NULL,
`Kunden_Eingetragen` datetime NOT NULL,
PRIMARY KEY (`Kunden_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

CREATE TABLE IF NOT EXISTS `kunden_status` (
`Kunden_Status_ID` int(11) NOT NULL auto_increment,
`Kunden_Status_Name` varchar(255) NOT NULL,
PRIMARY KEY (`Kunden_Status_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Als nächstes brauchen wir dann noch eine Tabelle für die Artikel:
CREATE TABLE IF NOT EXISTS `artikel` (
`Artikel_ID` int(11) NOT NULL auto_increment,
`Artikel_Name` varchar(255) NOT NULL,
`Artikel_Kosten` decimal(11,2) NOT NULL,
`Artikel_Eingetragen` datetime NOT NULL,
PRIMARY KEY (`Artikel_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

CREATE TABLE IF NOT EXISTS `artikel_lager_bestand` (
`Artikel_ID` int(11) NOT NULL,
`Lager_ID` int(11) NOT NULL,
`Artikel_Lager_Bestand` int(11) NOT NULL,
`Artikel_Lager_Bestand_Akualisiert` datetime NOT NULL,
PRIMARY KEY (`Artikel_ID`,`Lager_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Nicht zu vergessen die Tabelle für das Lager und die Bestellungen:
CREATE TABLE IF NOT EXISTS `lager` (
`Lager_ID` int(11) NOT NULL auto_increment,
`Lager_Name` varchar(255) NOT NULL,
`Lager_Max_Bestand` int(11) NOT NULL,
`Lager_Eingetragen` datetime NOT NULL,
PRIMARY KEY (`Lager_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

CREATE TABLE IF NOT EXISTS `bestellung` (
`Bestellung_ID` int(11) NOT NULL auto_increment,
`Kunden_ID` int(11) NOT NULL,
`Artikel_ID` int(11) NOT NULL,
`Bestellung_Eingetragen` datetime NOT NULL,
PRIMARY KEY (`Bestellung_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Für alle, die keine Lust haben sich die Befehle hier raus zu ziehen, habe ich mal den SQL hoch geladen. Hier der Link:
Jetzt downloaden

Eppelheim robot.txt


Grade gefunden auf nerdtainment.de. Gibt es schon etwas länger, aber kannte das Bild noch nicht :)

P.S.: Super Blog, wen Ihr mal lachen wollt :)

“Preformance” der Script immer versteckt Anzeigen

Ich habe ab und zu auf wichtigen und lasten intensiven Seiten meistens eine Automatische und konstante Anzeige der wichtigsten Eckdaten. Dadurch kann ich ohne großen Aufwand ständig die Ladezeiten kontrollieren. Der Vorteil liegt klar auf der Hand. Wenn mal wieder ein Anruf kommt ala “Die Seite ist langsam” braucht man nur selber drauf surfen und braucht nicht erstmal sich mit dem Server zu verbinden.

Das ganze am besten in die Datei Packen, die überall geladen wird (index.php, config.php). Und vor allem: Nicht aus versehen 2 mal die Session starten mit session_start(); , weil sonst dieser Fehler kommt:

Warning: Cannot send session cookie – headers already sent

Darum erst kontrollieren und dann folgendes einbauen:

session_start();
function getmicrotime() {
list($msec, $sec) = explode(” “,microtime());
return ($msec + $sec);
}
if($_REQUEST["start_timing"]==”on”){
$_SESSION["get_time"]=”on”;
}
if($_REQUEST["start_timing"]==”off”){
$_SESSION["get_time"]=”off”;
}
if($_SESSION["get_time"]==”on”){
$time_start = getmicrotime();
}

Das am besten ganz oben in die Seite rein laden :) . Dadurch wird die microtime() geholt. Also die Zeit mit Millisekunden, den auf die kommt es oft an.

if($_SESSION["get_time"]==”on”){
$serverid=”SERVERNAME”;
$query=$_SERVER["QUERY_STRING"];
$scriptname=$_SERVER["SCRIPT_NAME"];
$script=$scriptname.”?”.$query;
$time_end = getmicrotime();
$endzeit=$time_end-$time_start;
echo”“;
}

Den Block dann ganz nach unten. Dort erscheint dann die Ausgabe.

Beim Seitenaufruf einfach dann beim nächsten mal index.php?start_timing=on mitgeben und dann könnt Ihr euch zu dem kritischen Script bewegen und müsst nur in den Quelltext gucken um dann unten die Ausgabe zu sehen.

Das ganze lässt sich auch stoppen mit mal index.php?start_timing=off, aber eigentlich ist das egal :) . Wenn die Session verloren geht dann hört die Ausgabe auch auf.

Ersetzten von Zeichen durch andere

Musste in letzter Zeit öfters etwas ersetzten und denke da ist diese Funktion ganz Hilfreich :) :

string foo = “abc”;
foo.Replace(“abc”, “bc”);
// foo ist immer noch abc. Wichtig: Das setzten nicht vergessen!

foo = foo.Replace(“abc”, “bc”);
// foo ist a

Beschreibung: VAR.Replace(ERSETZE_WAS,ERSETZTE_DURCH);
Das ganze ist simpel wie die meisten Funktionen in c#, aber man muss Sie erstmal wissen :)

Für alle PHPler: VAR.Replace(ERSETZE_WAS,ERSETZTE_DURCH); ist wie in PHP str_replace(ERSETZE_WAS,ERSETZTE_DURCH,$VAR); . Denke das kann ein bisschen den Umstieg vereinfachen :)

Suchanbieter ändern bei Firefox

Da mich schon seit graumer Zeit die Alexa Suche nervt, habe ich mich heute dann entschlossen diese endlich raus zu nehmen und Google wieder als Standard suche rein zu machen.

Der Aufwand war relativ gering, dafür das es mich schon so lange nervt. Danke noch Bennyn für den Artikel :)

Einfach Firefox Starten -> about:config in die Adresszeile eingeben und dann “Ja ich bin vorsichtig” anklicken :) . Firefox scheint eine menge Leute in der Community zu haben, die wohl sehr leichtsinnig da Einstellungen verhauen :) . Nette Idee auf jeden Fall.

Ihr kommt dann in das Konfigurationsmenü was ein bisschen wie eine Pro/Contra Liste aussieht. Dort dann oben Bei Filger noch schnell “keyword.URL” eingeben und dann einmal den Eintrag bearbeiten. Ich habe da ganz einfach “http://www.google.de/search?q=” rein gemacht. Das ist meine Lieblingssuchmaschine und die will ich auch behalten :)

Kommentare im Quellcode

Ich bin kein großer Fan von Kommentaren, aber manchmal müssen sie einfach sein. Theoretisch kenne ich meine Scripte alle fast Auswendig. Wenn mir einer einen Abschnitt zeigt, dann kann ich sofort die Funktion dazu sagen.

Wer aber schon mal zu Zweit an einem Projekt gearbeitet hat, der wird Kommentare schon ganz gerne haben :) . Wer einmal mit mehr wie 5 Programmierern an einem Projekt gearbeitet hat, der wird es mehr wie Lieben :) . Für mich ist da 3-4 die Magische Grenze bei der man auf Kommentare nicht verzichten sollte. Es ist einfach nicht so leicht alle auf den laufenden zu halten bei allen Funktionen und so ist es halt am Bequemsten und Effektivsten.