tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
356
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kasimir61 Kasimir61 ist offline Grünschnabel
    Registriert seit
    Jan 2011
    Beiträge
    3
    Hallo,

    zuerst einmal ein frohes neues nachträglich!

    Folgendes Problem habe ich grad auf dem Tisch und komme nicht weiter.

    Ich habe eine MySQL Tabelle in der ich verschiedene Avatar Bildchen speichere. Pro Datensatz können es immer bis zu 10 Stück sein.

    Nun möchte ich eine Abfrage gestalten, in der ich nachsehe -
    welche Bilder neu sind. Diese möchte ich dann auf der Seite anzeigen.

    Die Tabelle heißt avatar_item

    und enthält neben meinen gewünschten Daten verschiedene jetzt eher unwichtige Daten.

    Ich kann die Einträge vorab ausfiltern, damit ich nicht alle Einträge durchsuchen muss. Das kann ich am

    Feld type erkennen.
    Dort steht dann avatar drin, wenns ein Eintrag für einen Avatar ist.

    Der Datensatz enthält weiter einen datetime Eintrag

    modified

    der auch bei der Erst Erstellung des Datensatzes das gleiche Datum enthält. Später dann, wird der Datum und Zeitstempel dann bei einer Bearbeitung geändert. Da die Bearbeitung nach dem Ersteintrag nur statt findet, wenn ein weiterer Avatar hinzukommt, ist das Feld

    modified für mich das ausschlaggebende !

    Der Inhalt des Feldes sieht dann so aus 2011-01-10 23:51:45

    Nun möchte ich erreichen, das alle Datensätze durchsucht werden, die Avatare enthalten. Jeder Datensatz kann wie gesagt 10 Avatare enthalten. Wichtig bei der Suche ist für mich immer der letzte Eintrag, der einen Avatar enthält.

    Die Daten sind alle in einem Text Feld gespeichert, das

    elements
    heißt.

    Der Inhalt dieses Feldes sieht folgendermaßen aus :

    Code :
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    
    <?xml version="1.0" encoding="utf-8"?>
    <elements>
    <text identifier="12e3333e-8a91-466d-9b1a-d4757a2d4f83">
      <value><![CDATA[Comic Jumper - Avatar Arwards]]></value>
    </text>
    <image identifier="bfc5f460-d297-43b6-bf49-ffeb8a247313">
      <file><![CDATA[images/stories/Avatare/comic_jumper_cover.jpg]]></file>
      <title/>
      <link/>
      <target/>
      <rel/>
      <lightbox_image/>
      <width><![CDATA[100]]></width>
      <height><![CDATA[136]]></height>
    </image>
    <select identifier="c6af2e74-f898-4a89-8c6c-bf55997ce7ec">
      <option><![CDATA[2k-games]]></option>
    </select>
    <textarea identifier="eb198cd3-af9b-4ac5-a80c-151d65add04b">
      <value><![CDATA[<p>Nach der Einstellung seiner eigenen Comic-Reihe wird Captain Smiley von  Twisted Pixel Games gekauft und als Aushilfs-Superheld eingesetzt, der  in andere Comics springt und dort alle möglichen Probleme löst. <b>Comic Jumper</b> ist die neueste Schöpfung des Teams hinter den preisgekrönten Spielen <b>Splosion Man</b> und <b>The Maw</b>.</p>]]></value>
    </textarea>
    <text identifier="63e16eef-8628-4756-b069-54c1b9fc0684">
      <value><![CDATA[Avatar1]]></value>
    </text>
    <text identifier="8372a9f7-0794-4350-9b21-e09aad6bbfdb">
      <value><![CDATA[Das ist Avatar 1, den bekommt man für..]]></value>
    </text>
    <image identifier="a2606f3d-baf8-4310-b603-6145d398c5cb">
      <file><![CDATA[images/stories/Avatare/Aqua_aw_1.jpg]]></file>
      <title/>
      <link/>
      <target/>
      <rel/>
      <lightbox_image/>
      <width><![CDATA[100]]></width>
      <height><![CDATA[100]]></height>
    </image>
    <text identifier="6ad3d31a-d670-41db-bc4e-93b4736ecfa4">
      <value><![CDATA[Avatar2]]></value>
    </text>
    <text identifier="b2d20b43-9ba7-4431-8a34-8fd8841a4ebf">
      <value><![CDATA[Das ist Avatar 2, den bekommt man für..]]></value>
    </text>
    <image identifier="9d1f5240-d0d8-47d3-b59e-a724e2b538a7">
      <file><![CDATA[images/stories/Avatare/Aqua_aw_3.jpg]]></file>
      <title/>
      <link/>
      <target/>
      <rel/>
      <lightbox_image/>
      <width><![CDATA[100]]></width>
      <height><![CDATA[100]]></height>
    </image>
    <text identifier="dacd286f-d15b-473a-91de-77f4e032b859">
      <value><![CDATA[Avatar3]]></value>
    </text>
    <text identifier="9b5604cc-e4d2-4902-887b-e29c2d4508fd">
      <value><![CDATA[Das ist Avatar 3, den bekommt man für..]]></value>
    </text>
    <image identifier="65ee7e54-a8ea-4191-8e26-07e7961c305f">
      <file><![CDATA[images/stories/Avatare/alien_breed_2_aw_1.jpg]]></file>
      <title/>
      <link/>
      <target/>
      <rel/>
      <lightbox_image/>
      <width><![CDATA[100]]></width>
      <height><![CDATA[100]]></height>
    </image>
    <text identifier="0bdb1ae5-0640-4c7e-85ba-0046bf76b1f9">
      <value><![CDATA[Avatar4]]></value>
    </text>
    <text identifier="fa613050-43be-4da6-b63c-f09cc649cab1">
      <value><![CDATA[Das ist Avatar 4 den bekommt man für..]]></value>
    </text>
    <image identifier="b9433253-f5eb-4fca-ad1c-dceaa71f3229">
      <file><![CDATA[images/stories/Avatare/alien_breed_2_aw_2.jpg]]></file>
      <title/>
      <link/>
      <target/>
      <rel/>
      <lightbox_image/>
      <width><![CDATA[100]]></width>
      <height><![CDATA[100]]></height>
    </image>
    <text identifier="b8edb888-d369-4281-abf4-b81997a2e2f2">
      <value><![CDATA[Avatar5]]></value>
    </text>
    <text identifier="86d0e4cd-9be5-4f9b-861b-81aadd1459cb">
      <value><![CDATA[Das ist Avatar5, den bekommt man für..]]></value>
    </text>
    <image identifier="d847fa8c-2d11-4440-b55c-927b1e3076f4">
      <file><![CDATA[images/stories/Avatare/alien_breed_2_aw_3.jpg]]></file>
      <title/>
      <link/>
      <target/>
      <rel/>
      <lightbox_image/>
      <width><![CDATA[100]]></width>
      <height><![CDATA[100]]></height>
    </image>
    <text identifier="43682832-3be6-4883-9e5e-2172b5813e14">
      <value><![CDATA[Avatar6]]></value>
    </text>
    <text identifier="47eac9ac-51c7-420b-88b3-7e657f0ae00c">
      <value><![CDATA[Das ist Avatar 6, den bekommt man für..]]></value>
    </text>
    <image identifier="bfdd2c25-87e8-4884-b2c9-9c9cc265927c">
      <file><![CDATA[images/stories/Avatare/comic_jumper_aw_1.jpg]]></file>
      <title/>
      <link/>
      <target/>
      <rel/>
      <lightbox_image/>
      <width><![CDATA[100]]></width>
      <height><![CDATA[100]]></height>
    </image>
    <text identifier="30fad788-a13e-47f3-8a3a-ad3f2b7f570c">
      <value><![CDATA[Avatar7]]></value>
    </text>
    <text identifier="c1aa8713-13fb-4701-80ce-0ceec0a9e333">
      <value><![CDATA[Das ist Avatar 7, den bekommt man für..]]></value>
    </text>
    <image identifier="73e72ec7-8fbb-47c6-a217-9dec5eed06e3">
      <file><![CDATA[images/stories/Avatare/comic_jumper_aw_2.jpg]]></file>
      <title/>
      <link/>
      <target/>
      <rel/>
      <lightbox_image/>
      <width><![CDATA[100]]></width>
      <height><![CDATA[100]]></height>
    </image>
    <text identifier="934211f8-218a-45dc-b08e-2a100e46f436">
      <value><![CDATA[Avatar8]]></value>
    </text>
    <text identifier="0eca7438-e593-4243-9265-9587e1778c55">
      <value><![CDATA[Das ist Avatar82, den bekommt man für..]]></value>
    </text>
    <image identifier="392cc880-1be7-45d0-bee0-073d011b2494">
      <file><![CDATA[images/stories/Avatare/comic_jumper_aw_3.jpg]]></file>
      <title/>
      <link/>
      <target/>
      <rel/>
      <lightbox_image/>
      <width><![CDATA[100]]></width>
      <height><![CDATA[100]]></height>
    </image>
    <text identifier="0e49f6db-64f3-468e-8478-890a2cdc90ae">
      <value><![CDATA[Avatar9]]></value>
    </text>
    <text identifier="a226ca36-9a3c-4dbb-8796-6907b0c50b6a">
      <value><![CDATA[Das ist Avatar 9, den bekommt man für..]]></value>
    </text>
    <image identifier="de06f985-eb75-4b9c-98bf-641c10686b55">
      <file><![CDATA[images/stories/Avatare/costume_quest_aw_1.jpg]]></file>
      <title/>
      <link/>
      <target/>
      <rel/>
      <lightbox_image/>
      <width><![CDATA[100]]></width>
      <height><![CDATA[100]]></height>
    </image>
    <text identifier="5242a913-f834-4ac2-9584-ad02c603d052">
      <value><![CDATA[Avatar10]]></value>
    </text>
    <text identifier="a578e92f-1d0f-4063-827c-db1bf9602fda">
      <value><![CDATA[Das ist Avatar 10, den bekommt man für..]]></value>
    </text>
    <image identifier="09d23a30-577b-4c94-9038-e2702db5cad0">
      <file><![CDATA[images/stories/Avatare/costume_quest_aw_2.jpg]]></file>
      <title/>
      <link/>
      <target/>
      <rel/>
      <lightbox_image/>
      <width><![CDATA[100]]></width>
      <height><![CDATA[100]]></height>
    </image>
    <link identifier="9abba42f-58d7-4eba-8237-4d0bf7feb0a0">
      <value><![CDATA[http://domain.com/]]></value>
      <text><![CDATA[Mitspielersuche]]></text>
      <target><![CDATA[1]]></target>
      <custom_title><![CDATA[Mitspieler Suche]]></custom_title>
      <rel/>
    </link>
    <text identifier="207c40eb-485a-47c5-8940-7568331f18c0">
      <value><![CDATA[Voraussichtlich 3 Auszeichnungen]]></value>
    </text>
    <link identifier="1afb3554-4fda-4b16-a1d0-931c952c4ebb">
      <value><![CDATA[http://domain.com/board/viewforum.php?f=16]]></value>
      <text><![CDATA[Finde hilfreiche Tips in unserem Forum]]></text>
      <target/>
      <custom_title><![CDATA[Hilfreiche Tips]]></custom_title>
      <rel/>
    </link>
    <text identifier="d478a841-1e41-4d64-85f3-6268fd666d21">
      <value><![CDATA[2 Stunden]]></value>
    </text>
    <text identifier="43d7e6d9-2068-4118-84e8-578c9450f0cc">
      <value><![CDATA[Einfach]]></value>
    </text>
    <text identifier="c8bf483d-83af-4530-84df-e7a8dcdd944f">
      <value><![CDATA[800 MSP]]></value>
    </text>
    <link identifier="50d254f2-d133-4114-8534-f3b0abca71e8">
      <value><![CDATA[http://domain.comu]]></value>
      <text/>
      <target/>
      <custom_title/>
      <rel/>
    </link>
    <text identifier="5358a13d-2d80-4c47-aef8-14b36b0ace14">
      <value><![CDATA[Henry Maske]]></value>
    </text>
    <socialbookmarks identifier="f03e59a0-c204-4c70-a363-7c067627dea0">
      <value><![CDATA[1]]></value>
    </socialbookmarks>
    <rating identifier="60c03c52-56d3-42c6-82c4-f68ada98c429">
      <votes/>
      <value/>
    </rating>
    <relateditems identifier="74acc9a8-73a9-471f-8b34-05d09eb36580"/>
    <checkbox identifier="00d7b336-d8f2-4d90-9ab0-e431705a481d">
      <option><![CDATA[img-srcimagesstoriessystemexbox360gif]]></option>
    </checkbox>
    <checkbox identifier="00e2574b-9e73-43f6-a04c-1fbe36979449"/>
    <facebookilike identifier="e0ef2447-9668-4efc-b9fe-c3f7f2d1cce6">
      <value><![CDATA[1]]></value>
    </facebookilike>
    </elements>

    Zum Beispiel wäre das hier Avatar10 von einem imaginären Datensatz, von denen mehrere Datensätze gespeichert sein können.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    <text identifier="5242a913-f834-4ac2-9584-ad02c603d052">
      <value><![CDATA[Avatar10]]></value>
    </text>
    <text identifier="a578e92f-1d0f-4063-827c-db1bf9602fda">
      <value><![CDATA[Das ist Avatar 10, den bekommt man für..]]></value>
    </text>
    <image identifier="09d23a30-577b-4c94-9038-e2702db5cad0">
      <file><![CDATA[images/stories/Avatare/costume_quest_aw_2.jpg]]></file>

    Nun die Frage :

    Wie muss eine Abfrage aussehen, die folgendes Ergebnis hat.

    1.) Durchsuche alle Datensätze dieser Tabelle nach Datensätzen, die ein Avatar sind.
    2.) Lese in allen Datensätzen nach, wann der Datensatz das letzte mal aktualisiert wurde.
    3.) Suche die 10 Datensätze heraus, die am aktuellsten sind.
    4.) Gebe mir von den aktuellsten 10 Datensätzen den jeweils letzten eingetragenen Avatar aus, in form des Bilderlinks.
    5.) gebe mir den Inhalt des Feldes alias ( ist ein Feld aus dem Datensatz-ist also in jedem Datensatz ein Feld wie datetime.) aus, in Form von Text.

    Wenn zum Beispiel in einem Datensatz keiner von 10 möglichen Avatare enthalten sind, dann bleiben die Inhalte leer. Also im XML Eintrag steht dann nur der Datensatz drin, der zuletzt eingetragen ist.

    Beispiel, wenn Avatar10 nicht existiert, dann ist der letzte Avatar dann Avatar9 oder eben bis runter zu Avatar 1. Eventuell müsste man noch berücksichtigen, wenn man den Datensatz speichert und aus irgend einem Grund hat der User vergessen, ein Bild hochzuladen - das man dann so verkehrt, ist der Datensatz aktuell und trifft zu - aber es ist kein Avatar gespeichert worden, dann vergiss diesen Datensatz.

    Das ist im wesentlichen, was ich nicht hinbekomme...

    Gibt es jemanden unter euch, der mir das mal näher erklären kann, wie ich das realisieren könnte ****

    Vielen Dank für eure möglichen Antworten und Hilfestellungen im voraus.

    Liebe Grüße
    Kasi
     

  2. #2
    Avatar von Anna Bolika
    Anna Bolika Anna Bolika ist offline Mitglied Silber
    Registriert seit
    Jan 2011
    Beiträge
    75
    Also vielleicht bin ich zu blond für das, was du vorhast. Lass mich wiederholen:

    Du hast eine MySql-Tabelle.
    In dieser MySql-Tabelle, kippst du in einem einzigen Textfeld dieses XML ab, das du oben präsentiert hast.
    In diesem XML soll nun nach dem letzten Avatar gesucht werden.

    Das ist in meinen Augen nicht sinnvoll. Warum baust du nicht eine ganz normale MySql-Tabelle mit diesen Avataren. Dann geht alles supereinfach und superschnell. Denn selbst wenn es eine Lösung gäbe, dies mit RegExen zu lösen - wie lange soll denn eine solche Abfrage eigentlich laufen, wenn deine Datenbank voll ist?

    Irgendwo wird dieses XML ja zusammengebaut werden. Das ist der Ort, an dem ich die Daten auch für deinen beschriebenen Zweck aufbereitet in eine MySql-Tabelle einfügen würde. Das ist leider alles, was ich bieten kan.
     

  3. #3
    Kasimir61 Kasimir61 ist offline Grünschnabel
    Registriert seit
    Jan 2011
    Beiträge
    3
    Hallo Anna,
    wenn das so einfach gehen würde - dann hätte ich es sicher so gemacht. Es geht aber dabei um eine Software, die das vorgibt und in diesem Punkt nicht verändert werden kann. Ich bin heute aber scho nein Stück weiter gekommen und konnte zumindest meine Abfragen fehlerfrei formulieren. Jetzt habe ich aber noch das Problem, das diese Abfragen in einen Guss kommen. Vielleicht fällt dir ja dazu auch was ein - das es bei vielen Dingen bessere Lösungen gibt, ist mir klar. Aber meine Abfrage zur Hilfe hatte mehr den Focus auf das Problem an sich, weniger auf "was besser wäre". An diesem Punkt komme ich eben nicht vorwärts und deshalb meine Anfrage im Forum.

    Danke aber dennoch, das du dich bemüht hast, mir einen Weg aufzuzeigen. Nur leider habe ich in diesem Punkt keine Alternativen zum Problem

    Achso, Es gibt nicht soviele Daten dazu - es werden dauerhaft vielleicht um die 200 Avatare, aber davon bin ich noch lange,lange entfernt
    Geändert von Kasimir61 (13.01.11 um 07:04 Uhr) Grund: Fehlerchen
     

  4. #4
    Kasimir61 Kasimir61 ist offline Grünschnabel
    Registriert seit
    Jan 2011
    Beiträge
    3
    Also, nachdem ich mal ein wenig getüftelt habe, habe ich mit Hilfe von jemanden zumindest die Abfragen hinbekommen, ohne das es Fehler gab.

    Nun muss ich irgendwie erreichen, das ich die Daten bekomme, die mein Herz begehrt

    Hier mal der Ansatz - Ich würde mich sehr über Hilfe freuen...

    Code :
    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
    
    <?php
    mysql_connect("localhost","user","passwort");
    mysql_select_db("tabelle");
     
    $abfrage=mysql_query("select * from zoo_item where type = 'avatar'");
     
    $abfrage2=mysql_query("select modified from zoo_item");
     
    $abfrage3=mysql_query("select * from zoo_item.elements WHERE file IS NOT NULL order by modified desc limit 10");
     
    $Abfrage4=mysql_query("select file from (select * from zoo_item.elements order by modified desc limit 10) a order by a.modified asc limit 1");
     
    $abfrage5=mysql_query("select alias from zoo_item");
     
    :eek: hier hängt es ! - Wie bekomme ich es hin, 
    das alle Abfragen ausgeführt werden und 
    nur noch das gewünschte Ergebnis unten 
    heraus kommt ****
     
    :) Die Abfragen einzeln haben keine Fehler, 
    das läuft durch - aber eben müssten ja alle Abfragen zuerst 
    erfüllt sein, bevor das Ergebnis was ich möchte - 
    da ist ....
     
    $result= mysql_query($alles);
     
    while($row=mysql_fetch_array($result))
    {echo $row['alias']. '/';
        echo $row['file'].'<br>';
    }
    ?>

    Vielen Dank für eure mögliche Hilfe
    Kasi
    Geändert von Kasimir61 (13.01.11 um 07:06 Uhr) Grund: Text zu lang, muss man immer scrollen...
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 08.03.10, 13:40
  2. DB Daten mit .txt Daten abgleichen und auswerten
    Von creativeheadz im Forum PHP
    Antworten: 9
    Letzter Beitrag: 09.04.09, 18:54
  3. CGI daten auswerten
    Von kurcob im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 0
    Letzter Beitrag: 02.01.07, 14:40
  4. Antworten: 2
    Letzter Beitrag: 04.07.05, 18:52
  5. Daten auswerten
    Von dennislassiter im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 20.04.04, 20:38

Stichworte