[gelöst]Bild Url zu einer Node
am 04.01.2012 - 02:13 Uhr in
Hallo,
ich versuche gerade die Bildurl einer Node aus der Datenbank auszulesen. Ich habe gesehen, dass die Url des Bildes in der files gespeichert wird. Leider kann ich nicht ermitteln zu welcher Node genau welches Bild passt, da in der node (Datenbanktabelle) nur die uid nid und vid existieren. In der Files gibt es nur eine Spalte mit fid. Somit kann ich da keinen Bezug erkennen. Ich weiss da nicht mehr weiter. Ich kann z.B. aus der Node genau durch die uid erkennen, welche Blogs ein User erstellt hat. Welche Bilder zu diesen Blogs gehören kann ich aber nicht ermitteln. Weiss da jemand einen Rat?
- Anmelden oder Registrieren um Kommentare zu schreiben

Welche Drupal-Version hast du
am 04.01.2012 - 08:32 Uhr
Welche Drupal-Version hast du ?
Für D7 z.B.:
http://upsitesweb.com/sites/upsites.co/files/drupal7_model_0.png
Ich verwende d6. Schade,
am 04.01.2012 - 16:26 Uhr
Ich verwende d6. Schade, danke für den Tipp! Nicht schlecht dieses Diagramm. Leider geht auch dort nicht hervor wie ein Bild mit der zugehörigen Node verbunden ist.
Ich habe jetzt den Bezug
am 04.01.2012 - 19:59 Uhr
Ich habe jetzt den Bezug herstellen können, kann damit aber nichts anfangen. In der Tabelle content_type_blog wird die fid des Bildes zur Node mit der nid gespeichert. Allerdings sieht das ganze so aus:
a:12:{s:3:"fid";s:3:"260";s:5:"width";i:424;s:6:"height";i:283;s:8:"duration";i:0;s:12:"audio_format";s:0:"";s:17:"audio_sample_rate";i:0;s:18:"audio_channel_mode";s:0:"";s:13:"audio_bitrate";i:0;s:18:"audio_bitrate_mode";s:0:"";s:4:"tags";a:0:{}s:3:"alt";s:0:"";s:5:"title";s:0:"";}Also in diesem Fall 260. Aber wie kann ich den String so zerlegen, dass ich nur die fid in diesem Fall 260 erhalte???
Ok ich habe einen Ansatz:
<?php
$arr = str_split( "Der Quatsch der oben steht!", 3 );
print_r( $arr );
Array
(
[0] => Hal
[1] => lo
[2] => Wel
[3] => t!
)
?>
Das wird so nichts. Dünn******ss
Ne, evt. klappt das genau so: es sind genau 21 Zeichen bis zur fid. Also 7x3. Aber was ist wenn die fid 4 Stellig wird. Das ist doch wirklich M****
Na ja ist nicht so schwierig..
am 04.01.2012 - 19:58 Uhr
du hast einen Node mit der nid
und dein Bild ist einem CCK-Image-Feld namens "Bild"
dann gibt es die Tabelle Content_field_Bild
dort den passenden Eintrag mit deiner Node-nid und field_bild_fid = deine File-ID in der files-Tabelle
Habe ich nicht in der
am 04.01.2012 - 20:10 Uhr
Habs gefunden. Es bedindet sich in der selben Tabelle content_type_blog Dort Gib es field_bild_fid. Danke, der Weg ist das Ziel!!
Ist es auch ..
am 04.01.2012 - 20:09 Uhr
.. mußt aber das Feld mit CCK erstellen.
das ist doch relativ einfach:
am 04.01.2012 - 20:42 Uhr
s:3:"fid";s:3:"260";s:5:"width";i:424
Das erste Feld hat einen Feldnamen, der ein String ist und aus 3 Zeichen besteht und fid heißt (s:3:"fid"), der Inhalt ist auch ein String aus 3 Zeichen, nämlich 260, dann folgt ein Feld, dessen Name ein String aus 5 Zeichen besteht und das einen Inhalt als Integer abgelegt wird und den Wert 424 hat ...
@ronald
am 04.01.2012 - 23:45 Uhr
der Datenbankeintrag ist ein serialized-Array und kann mit unserialize wiederhergestellt werden
Stimmt
am 05.01.2012 - 07:53 Uhr
wenn es um kleine Details geht, ist es dennoch gut, die Serialisation ein wenig zu durchschauen.