Suche auf lima-city
-
in: MySQL int UNSIGNED und negative Zahl eIntragen?
geschrieben von favon
Hallo
Frage:
was passiert wenn ich in eine MySQL Tabelle
in eine Spalte die INT (8) UNSIGNED ist
einen negativen Zahlen-Wert eintrage ?
a) der positive Wert = Betrag (also bei -3 wird 3 eingetragen)
b) nichts, ... SQL Fehler ... (evtl Abbruch)
c) Es wird 0 (Zahlenwert null) eingetragen, da kleinster möglicher Wert bei UNSIGNED
-
in: brauche eure hilfe bei code
geschrieben von favon
ich glaube Du meins IMG Tag
(um ein Bild in HTML als Bild anzuzeigen und nich als Text der Bild-URL)
$ordner = 'bilderordner/'; // ---- der Pfad zum Verzeichnis mit Slash / am Ende ---- $myimage1 = $ordner.$filename; $myimage2 = 'bilderordner/grafik123.jpg'; echo "<br /> Bild 1: <br /> <img src=\"".$myimage1."\" width=\"320\" height=\"440\" border=\"0\" alt=\"Bild 1 Beschreibung\" /> \n"; echo "<br /> Bild 2: <br /> <img src=\"".$myimage2."\" width=\"280\" height=\"390\" border=\"0\" alt=\"Beschreibung zu Bild 2\" /> \n";
wenn man die Angabe die Breite (width) und Höhe des Bildes weglässt,
dann wird das Bild (in den meisten Browsern) in Original-Größe angezeigt
man kann aber auch per PHP auslesen, welche Abmessungen ein Bild hat
$bild3 = 'http://quarknet.de/slide/foto-sylvester-feuerwerk.jpg'; $info = getimagesize($bild3); $breite = $info[0]; $hoehe = $info[1]; echo "<br /> Bild 3: <br /> <img src=\"".$bild3."\" width=\"".$breite."\" height=\"".$hoehe."\" border=\"0\" alt=\"Sylvester Feuerwerk\" /> \r\n";
und gibt man nur einen der beiden Werte für Abmessungen an,
dann machen die meisten Browser den andere (Nich angegebenen) Wert dazu proportional
also wenn ein Bild immer 200 Pixel breit sein soll (und die Höhe automatisch anpassen)
dann eben nur width="200" angeben
noch besser ist es, die Abmessungen mit CSS anzugeben,
aber das ist wieder ein ganz anderes Kapitel ^^ :)
-
in: Twitter API benutzen, was beachten?
geschrieben von favon
Hallo
ohne API hast Du 150 Anfragen pro Stunde
mit REST API Zugang (oAuth) sind es 350 Anfragen pro Stunde
gezählt werden Anfragen pro IP, also wenn das als Script läuft, dann die Server IP
siehe: https://dev.twitter.com/docs/rate-limiting
aber Du musst ja vielleicht nicht für jeden User eine Anfrage neu machen,
sondern kannst ja die RSS auch cachen !!!!
<?php // ------------------------------------------------ function updateCache($source, $cachefile, $cachetime) { if (!file_exists($cachefile)) { copy($source, $cachefile); $out = 'neu'; } else { $old_datum = filemtime($cachefile); $new_datum = time(); $dif_datum = ($new_datum - $cachetime); if ($old_datum < $dif_datum) { unlink($cachefile); copy($source, $cachefile); $out = 'update'; } else { $out = 'old'; } } return $out; } // ------------------------------------------------ $twitter_user = 'limacity'; $quelle_url = 'http://twitter.com/statuses/user_timeline/'.$twitter_user.'.rss'; $cache_file = 'data/twitter_'.$twitter_user.'.rss'; $cache_time = '1800'; // Cache Zeit in Sekunden $cacheing = updateCache($quelle_url, $cache_file, $cache_time); // --- jetzt mit der ge-cacheten Datei $cache_file arbeiten // ------------------------------------------------ ?>
PS:
habe noch irgendwo gelesen, das die "alte" Twitter RSS nicht mehr der offizielle Aufruf ist,
veiel sagen, man soll die neue Abfrage URl (aus der API) nutzen,
die funktioniert ja auch weitgehend ohne oAuth Zugang, eben mit Limit 150 / Stunde
http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=limacity
in der Form kann man ja dann auch einfacher andere Abfragen machen
wie z.B. Listen, Mentions (Erwähnungen), Retweets, etc ...
-
in: select options in get schreiben
geschrieben von favon
Hallo
ja, das \r kannst Du auch weglassen,
ich mache es halt immer mit rein, weil ich auf Windows arbeite
und bei manchen Webspaces, wenn man Online erstellte Dateien per ftp abholt,
dann wird nur so der Umbruch in der abgeholten Datei (unter Win) auch angezeigt
meistens geht eas aber auch mit nur \n (für Zeilnumbruch im Quellcode)
zu foreach()
damit gehst Du jedes Element in einem Array durch,egal wieviele Elemente es hat
dadurch erspart man sich einen count() für eine for-Schleife und ist unabhängig von der Anzahl
siehe dazu: http://php.net/manual/de/control-structures.foreach.php
Beispiel: (zweidimensionales Array)
<?php // ------------------------------------------ $spielerdaten = array( array('7', 'Thomas', '22', 'Ritter'), array('5', 'Markus', '4', 'Monster'), array('3', 'Johannes', '81', 'Ritter'), array('2', 'Barbara', '35', 'Der Adel') ); // ------------------------------------------ $i = 1; foreach($spielerdaten as $spieler) { echo "<br />Nummer: ".$i."\r\n"; echo "<br />ID: ".$spieler[0]."\r\n"; echo "<br />Name: ".$spieler[1]."\r\n"; echo "<br />Punkte: ".$spieler[2]."\r\n"; echo "<br />Team: ".$spieler[3]."\r\n"; echo "<br />\r\n"; $i++; } // ------------------------------------------ ?>
Ausgabe:
Nummer: 1 ID: 7 Name: Thomas Punkte: 22 Team: Ritter Nummer: 2 ID: 5 Name: Markus Punkte: 4 Team: Monster Nummer: 3 ID: 3 Name: Johannes Punkte: 81 Team: Ritter Nummer: 4 ID: 2 Name: Barbara Punkte: 35 Team: Der Adel
Wenn Du die Daten aus MySQL holst und mit mysql_fetch_assoc() in Array legst
dann kannst Du auch direkt die Spalten-Namen als KEY verwenden
$res = mysql_query($sql); $data = array(); while($row = mysql_fetch_assoc($res)) { $data[] = $row; } foreach($data as $item) { ## echo "<pre>\r\n"; ## print_r($item); ## echo "</pre>\r\n"; echo "<br />ID: ".$item['id']."\r\n"; echo "<br />Name: ".$item['name']."\r\n"; echo "<br />Punkte: ".$item['points']."\r\n"; echo "<br />Team: ".$item['team']."\r\n"; echo "<br />\r\n"; }
nur ein Beispiel, die Spalten-Namen (KEYs) musst Du natürlich selber kennen
:)
-
in: Ein theme von Wordpress funktioniert nicht richtig
geschrieben von favon
Hallo
alos ich sehe die Animation auch auf Deiner Seite
und bis auf das Bild selber keinen Unterschied zur Demo Seite
... scheint doch 1A zu funktionieren .... ?!? -
in: Twitter API benutzen, was beachten?
geschrieben von favon
Hallo
eigentlich ist es ganz einfach mit RSS von Twitter
BSP: http://twitter.com/statuses/user_timeline/limacity.rss
das ist keine API, sondern einfach RSS, und das musst Du wohl auch einfach so nutzen können
genauso die Suche bei Twitter als RSS (oder Atom oder Json)
BSP: http://search.twitter.com/search.rss?q=silvester&lang=de
BSP: http://search.twitter.com/search.atom?q=silvester&lang=de
BSP: http://search.twitter.com/search.json?q=silvester&lang=de
also Vieles geht auch ohne API (ohne eigene Twitter Application)
aber mit geht natürlich mehr, auch mehr Abfragen pro Stunde
siehe: https://api.twitter.com/1/account/rate_limit_status.json
die gesamte Doku der API siehe: https://dev.twitter.com/docs/api
zur Nutzung der API mit eigener Application braucht man einen Twitter Account,
dann bei dev.twitter.com anmelden (login) und eine eigene App erstellen
Zugang zur App bekommt man am einfachsten mit einer PHP-Klasse
die auth und Abfragen handelnkann ... z.B. https://github.com/abraham/twitteroauth
oder andere ... siehe https://dev.twitter.com/docs/twitter-libraries#php
also Du kannst die Twitter API auch ohne eigene App nutzen, aber halt eingeschränkt.
mit kannst Du halt etwas mehr machen, ist die Frage ob man es auch braucht.
einfach ausprobieren, welche Abfragen auch ohne eigener App (oAuth) funktionieren
ob damit alles funktioniert, was Du machen willst, sonst halt doch eigene App starten
-
in: select options in get schreiben
geschrieben von favon
Hallo
Wenn Du in jeder Zeile ein eigenes Formular hast
dann kannst Du ein hidden-field mit der ID (Zeilen-Nummer) machen
dann weisst Du nach Absenden des Formulars, aus welcher Zeile es kommt
BSP Code für jeweils letzte Spalte in der Tabellen-Zeile:
<form name="form1" method="get" action=""> Wie gefällt Dir das ?<br> <select name="wertung"> <option value="1">Ich liebe es</option> <option value="2">echt gut</option> <option value="3">naja geht so</option> <option value="4">ist doch doof</option> </select> <br> <input type="hidden" name="zeile" value="1"> <input type="submit" name="go" value="Abschicken"> </form>
Wenn es aus einer Schleife mit Zähler kommt,
dann kannst Du im Hidden-Field jeweils den Zähler setzen
echo "<table> \r\n"; $i=1; foreach($data as $item) { echo "<tr> \r\n"; echo "<td> \r\n"; // hier Tabellen-Zeile mit $item Inhalt in erster Spalte echo "</td> \r\n"; echo "<td> \r\n"; // und dann Zeilen-Zähler im Formular in der zweiten Spalte ?> <form name="form1" method="get" action=""> Wie gefällt Dir das ?<br> <select name="wertung"> <option value="1">Ich liebe es</option> <option value="2">echt gut</option> <option value="3">naja geht so</option> <option value="4">ist doch doof</option> </select> <br> <input type="hidden" name="zeile" value="<?php echo $i; ?>"> <input type="submit" name="go" value="Abschicken"> </form> <?php echo "</td> \r\n"; echo "</tr> \r\n"; } echo "</table> \r\n";
dann bekommst Du Ergebnis wie z.B.:
if ( !empty($_GET['zeile']) ) { $ergebnis = urldecode($_GET['wertung']); echo "<br>Bewertung für Zeile ".$_GET['zeile']." ist: ".$ergebnis."\r\n"; }
ist zwar hier Spaghetti-Code, aber nur zur Veanschaulichugg des Prinzips