[PHP] auslesen + sortierung

Dieses Thema im Forum "Webentwicklung" wurde erstellt von freakZ, 6. Mai 2008 .

Schlagworte:
  1. 6. Mai 2008
    auslesen + sortierung

    hey liebe Leute,

    folgendes Problem unser getway bekommt eine sms die er wie folgt abspeichert.

    id-nummer-smsdate-insertdate-text

    1-4998473647-06-06-2008 16:00-06-06-2008 16:00-letz go raidrush.ws

    Jedoch wollen wir den sms text "filtern" vergleichen ob am anfang ein username vorkommt wenn ja soll er dem user in die tabelle pms kopiert werden.

    In diesem Falle wäre letz das keyword und es würde dem user letz weiter geleitet werden, fraglich nur wie realisiert man das am einfachsten und effektivsten wenn das 500 sms reinprasseln ohne das der Server die cpu kickt.

    Es soll jedoch gebrübt werden ob wie im beispiel "letz" ein user ist der existiert und wenn ja weiterleiten wenn NEIN dann schiebe die in ein default (admin).

    Hoffe ihr könnt mir helfen
     
  2. 9. Mai 2008
    AW: auslesen + sortierung

    kannste vielleicht mal mit farben markierne, was jetzt was ist in diesem string? also was die id ist, was die nummer, was das datum, .....

    ich denke, dass lässt sich dann mit expressions ganz gut lösen

    ---------------------
    edit

    Kannst du vielleicht mal mit farben markieren, was jetzt was ist in diesem String? Also was die Id ist, was die Nummer, was das Datum, .....
    Ist den der Username durch irgendwelche Zeichen vom Rest getrennt? Bei "letz" ist es nach rechts ja nur ein leerzeichen.
    Ich denke, insgesamt lässt sich das Auslesen dann mit Expressions ganz gut lösen.
     
  3. 9. Mai 2008
    AW: auslesen + sortierung

    Entweder mit "expressions" (bzw. regulären Ausdrücken) womit ich mich nicht auskenne, oder mit explode()

    doof ist dass das Datum genau wie der rest mit einem "-" getrennt wird... Aber Reguläre Ausdrücke sind da eine gute Lösung...
     
  4. 9. Mai 2008
    AW: auslesen + sortierung

    Code:
    (?P<id>(\d+))-(?P<nummer>(\d+))-(?P<smsdate>([\d]{2}-[\d]{2}-[\d]{4}\s[\d:]+))-(?P<insertdate>([\d]{2}-[\d]{2}-[\d]{4}\s[\d:]+))-(?P<text>(.*))
    sollte drauf passen (geht nur in php), habs aber ned gestestet
     
  5. 6. Juni 2008
    AW: auslesen + sortierung

    Hallo,

    leider bin ich noch immer nicht selbst drauf gekommen ..

    Hier ein aktuelles beispiel aus meiner datenbank wie die sms eingetragen werden .. fehlt ja nur mehr die verarbeitung!

    CREATE TABLE `inbox` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `number` varchar(20) NOT NULL default '',
    `smsdate` datetime NOT NULL default '0000-00-00 00:00:00',
    `insertdate` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    `text` varchar(160) default NULL,
    `phone` tinyint(4) default NULL,
    `processed` tinyint(4) NOT NULL default '0',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=28 ;

    --
    -- Daten für Tabelle `inbox`
    --

    INSERT INTO `inbox` (`id`, `number`, `smsdate`, `insertdate`, `text`, `phone`, `processed`) VALUES
    (27, '6763875432', '2008-05-06 16:37:15', '2008-05-06 18:37:30', 'USERNAME ab gehts in den feierabend am Dienstag ) - - \n\n', NULL, 0),

    Sinn ist es USERNAME der am anfang der sms "textes" steht auszulesen zu chekken ob ein user mit diesem namen existiert und wenn ja verschiebe in irgend eine andere datenbank und ordner sie dem usernamen zu

    Bitte um hilfe reguläre ausdrucke bringen somit nicht wirklich was bei der verarbeitung mehr php & mysql büdde
     
  6. 6. Juni 2008
    AW: auslesen + sortierung

    PHP:
    <? php
        $message 
    'USERNAME ab gehts in den Feierabend am Dienstag' ;
        
    $pos  strpos ( $message ' ' );
        
    $username  substr ( $message 0 $pos );
        
    $text  substr ( $message $pos  1 strlen ( $message ));
        print 
    $username  "<br /> { $text } " ;
    ?>
     
  7. 8. Juni 2008
    AW: auslesen + sortierung

    Kann mir jemand eventuell das ganze so aufbauen das er direkt dann auch username chekkt aus der db ob Username = Username existiert in einer userdatenbank und WENN JA dann sms text in db eintragen und dem user zuordnen.

    mit mysql natürlich ..
     
  8. 8. Juni 2008
    AW: auslesen + sortierung

    PHP:
    $sql  sprintf (
        
    "SELECT uid FROM users WHERE username = '%s'" ,
        
    $username
    );

    $query  mysql_query ( $sql );
    if(
    mysql_num_rows ( $query )== 1 )
    {
        
    // wenn benutzer existiert
        
    $user  mysql_fetch_array ( $query );
        
    mysql_free_result ( $query );
        
    $sql  sprintf (
            
    "INSERT INTO(uid,datum,sms,text) VALUES('%s','%s','%s','%s')" ,
            
    $user [ 'uid' ],
            
    $datum ,
            
    $sms ,
            
    $text
        
    );
        
    mysql_query ( $sql );
    } else {
        
    // wenn nicht
    }
    so sollte es gehen
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.