Jump to content
php.lv forumi
Sign in to follow this  
ivy

SimpleXML un MySQL

Recommended Posts

Sveiki,

 

pat īsti nezinu, kā sākt.. Lieta apmēram tāda, ka man no SimpleXML izmestā info jāielasa dati datubankā. Viena no lietām, kas ir jāielasa, ir bilde un man nav ne jausmas, kā to izdarīt.

Pārējos datus (nosaukumu, autoru) ielasu šādi:

$title = $sx->entry->title;
$author = $sx->entry->author->name;

 

Ja ieliek sekojošo, tad ielasās tikai bildes links:

$img = $sx->entry->link['href'];

Kā lai ielādē pašu bildi, ja ir tabula "bildes" ar ailīti "img"?

Tālāk to visu lieku (mēģinu likt) iekš DB ar

$db->exec("INSERT INTO bildes (title, author, img)
VALUES ('$title', '$author', '$img')");

Jau iepriekš paldies!

Share this post


Link to post
Share on other sites

Kā arī glabā to kolonnā ar attiecīgo tipu (BLOB), jo bināri dati:

Kkā tā

Bildes glabāt DB, really? Drīzāk uztaisi mapīti bildes, saglabā tās kā codez dotajā linkā tev priekšā parāda un glabā db nosaukumu bildei.

Share this post


Link to post
Share on other sites

Bildes glabāt DB, really? Drīzāk uztaisi mapīti bildes, saglabā tās kā codez dotajā linkā tev priekšā parāda un glabā db nosaukumu bildei.

Ja cilvēkam tā gribās, kapēc ne. Tehniski tas ir iespējams.

Share this post


Link to post
Share on other sites

Ja cilvēkam tā gribās, kapēc ne. Tehniski tas ir iespējams.

 

Daudz kas ir iespējams, bet arī laukumam, kurā būs tikai 1 simbols neliek tipu TEXT, kas arī ir iespējams. Ja jau norādīji, ka jāglabā BLOB, tad es norādīju kā būtu vēl labāk!

Share this post


Link to post
Share on other sites

Ehm.. paldies par padomiem. Par to, ka bildes nevajadzētu glabāt iekš DB, es jau visur salasījos. Man vienkārši tāds mājas darbs, kur ko tādu prasa. Bet nu tā kā es beigu beigās neko īsti noderīgu neatradu, ielasīju tikai linkus un piedabūju pie autputa, ka tur visas manas bildes parādās. Vismaz rezultāts būs pareizs ^^

Share this post


Link to post
Share on other sites

@No0ne

Ne jau tik kategoriski. Viena lieta, ja taisi lapu kaimiņu Jānim, cita lieta, ja projekts ir uz dauziem serveriem.

Edited by Nordvind

Share this post


Link to post
Share on other sites

Nedaudz paturpinot tēmu.. Ar tām bilžu ielikšanām galā tiku. Tagad man ir jautājums par to parādīšanu browzerī.

$sth = $db->query("SELECT thumb FROM images");

   $sth->setFetchMode(PDO::FETCH_ASSOC);

		while($row = $sth->fetch()) {  

			header("Content-type: image/jpeg");

				echo $row['thumb'] . "\n";  
		}

 

Ar šo tiek parādīta tikai viena bilde, a kā piedabūt, lai parāda visas, kas tajā nabaga DB iekšā? Vai šim gabaliņas vēl kas riņķī apkārt jāpieliek, vai tur vajag kaut ko pavisam citu?

(lūdzu nesūtiet mani atkal pie gūgļa, to es jau pietiekami moku ;) )

Share this post


Link to post
Share on other sites

oibac, nezinu pat ar ko sākt :D

 

Tas ko tu tur pašlaik dari it pa taisno sūti bildes saturu pārlūkam, tā it kā cilvēks būtu atvēris pašu bildi.

 

Tas ko tev vajag ir <img src="bilde.jpg"/> Tas nozīmē, ka bildei ir fiziski jāatrodās kā failam uz servera.

 

Cits variants, uztaisi skriptu, kas izvelk bildi pēc konkrēta ID, un citā lapā saliec tās bildes rindiņā.

 

Teiksim, skripts image.php kuram padod kā get parametru bildes id.

Viņš izvelk bildi no db un parāda -

<?php
$sth = $db->query("SELECT thumb FROM images WHERE id = " . $_GET['id']);
$sth->setFetchMode(PDO::FETCH_ASSOC);
$row = $sth->fetch();
header("Content-type: image/jpeg");
echo $row['thumb'];

 

Un tad citā skriptā -

<img src="image.php?id=1"/>
<img src="image.php?id=2"/>
<img src="image.php?id=3"/>

..utt utt

 

Tādi nu ir tie prieki ar bilžu glabāšanu db...

Edited by briedis

Share this post


Link to post
Share on other sites

Ookay.. Līdz kaut kam tādam es vakara beigās arī aizmalos. Man tik vajadzētu vēl kaut kaut kādu loop (kā tos pričendāļus latviski dēvē?), jo visa lieta ir tāda, ka izsaucot vienu lapu, tiek izmests simpleXML savārstījums, no kura skripts izlasa bildes un uzseivo uz servera, un izlasa Thumbnailus, kurus ieseivo iekš DB. Un otra lapa šīs bildes un Thumbnailus atkal izdod. Tas, kas man tagad neizdodas, ir uztaisīt normālu loopu un saprast, kurā lapā man viņu bāzt :/

Share this post


Link to post
Share on other sites

Aiii, skatos, ka tev nav nekādas poņas par to ko tu tur raksti:)

 

$sth = $db->query("SELECT id FROM images");
$sth->setFetchMode(PDO::FETCH_ASSOC);
while($row = $sth->fetch()) {  
echo "<img src='image.php?id=" . $row['id'] . "' />";  
}

 

..pieņemot, ka ID ir ir primārā atslēga ar AUTO_INCREMENT..

Share this post


Link to post
Share on other sites

Par to poņu tev ir 100% taisnība ;) Es jau sāku nožēlot, ka izvēlējos to priekšmetu vasaras semestrī, nu bet gribas tomēr to visu kaut kā iemācīties un saprast. Maltos jau vien pati pa ģūgli tālāk, bet nodošanas termiņš spiež :/ Tā ka nu tencinu par palīdzību un kad būs iespēja, palūkošu, vai sanāks kā vajag!

P.S. Jā, ID ir primārā atslēga ar AUTO_INCREMENT (tik daudz es pati māku un pat saprotu samuhļīt :D )

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...