Hallo zusammen,
bin im Moment dabei ein SMS-Gateway auf die Beine zu stellen - genauer gesagt ein zweites für ne Niederlassung in Italien. Ich nutze smstools, ist konfiguriert und läuft. Mit der Auswertung bereits bestehender Daten habe ich nun Probleme; meine Frage bzw. dessen Problemlösung hängt auch nicht von smstools ab, wird lediglich meinerseits dafür benötigt.
Kurz die Erklärung: Eine Handynummer wird angegeben. In einer mysql-Datenbank wird gesucht, ob diese Nummer darin vorkommt (Tabelle: adb_group). Wenn ja, wird überprüft, ob bei diesem Datensatz die DID gleich 5 ist (wichtig für Italien) - wenn nicht gleich 5, wird folgendes Ziel nicht weiter ausgeführt: Ist DID gleich 5, wird der Firmenname sowie die LKW-Kennzahl des Datensatzes genommen und in eine andere Tabelle (log_inbound_korbel) der Datenbank geschrieben.
Meine Testlösung in php hat soweit auch funktioniert und um euch ein Bild zumachen von dem, was ich will:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?php mysql_connect("localhost", "root", ""); mysql_select_db("handy"); if(isset($_POST['zielnummer'])) { $zielnummer = $_POST[zielnummer]; $result=mysql_query("SELECT rufnummer, lkw, Firma FROM adb_group WHERE rufnummer=$zielnummer AND groupowner=5 ORDER BY DID DESC LIMIT 1;"); if (mysql_num_rows ($result) > 0) { echo "<br>Die Nummer<b> $zielnummer </b>ist mit Groupowner 5 vorhanden<br><br>"; while($row = mysql_fetch_object($result)) { echo "<b>Rufnummer:</b> $row->rufnummer <br>"; echo "<b>Kennzeichen:</b> $row->lkw <br>"; echo "<b>Firma:</b> $row->Firma <br><br>"; mysql_query("INSERT INTO log_inbound_korbel (lkw,Firma) VALUES('$row->lkw','$row->Firma');"); echo "<b><i>Kennzeichen und Firma wurden in die Datenbank eingetragen</i></b>"; } } else { echo "Nummer ist fuer Italien nicht verfuegbar."; } } ?> |
DB-User und PW natürlich abgeändert von meiner Version. Online-Version: http://dothtaccess.de/sms/sms.php Handy-Nr. mit DID 5: 421910896709 Handy-Nr. ohne DID 5: 01719732494 Handy-Nummern natürlich ebenfalls abgeändert in der Datenbank.
Meine .sh-Datei bisher (auch wenn für euch nur die letzten Zeilen relevant sein sollten):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #!/bin/bash # # This is an example script that logs all events into an SQL database SQL_HOST=localhost SQL_USER=root SQL_PASSWORD="" SQL_DATABASE=handy DATE=`date +"%Y-%m-%d %H:%M:%S"` TIME=`date +"%H:%M:%S"` FROM=491629356112 TO=0151-16752728 #Remove Plus-Zeichen, Leerzeichen, Minus-Zeichen und Kurznummern-Praefix TO=`echo "$TO" | sed 's/ //g' | sed 's/+//g' | sed 's/s//g' | sed 's/-//g'` SUBJECT=Test-Thema SENT=SentTest #Setze SQL-Parameter if [ "$SQL_PASSWORD" != "" ]; then SQL_ARGS="-p$SQL_PASSWORD"; else SQL_ARGS=""; fi SQL_ARGS="-h $SQL_HOST -u $SQL_USER $SQL_ARGS -D $SQL_DATABASE -s -e" #SQL-Ausgaben (TEST) NumberCheck=`mysql $SQL_ARGS "SELECT lkw, Firma FROM adb_group WHERE rufnummer=\"$TO\" AND groupowner=5 ORDER BY DID DESC LIMIT 1;"` echo "$NumberCheck" |
Irgendwie komme ich hier nicht weiter. Ich könnte aus NumberCheck auch NumberCheck1 sowie 2 machen und in zwei Variablen die zwei Werte für lkw und Firma ziehen, allerdings sollte das doch auch in einer bash durch eine Art While-Abfrage möglich sein das unter einen Hut zu bringen. So wie die vorangestellte Lösung über PHP. Auch das speichern in der zweiten Tabelle gelingt mir nicht.
Kann mir hierbei einer helfen? ☺
Liebe Grüße