Jump to content
php.lv forumi

Vienkārša funkcija


Ownmen

Recommended Posts

tātad lieta sekojoša:

 

Funkcija, kas paņem bildes width !!!ar echo pārbaudot strādā kā nākas!!!

// Samazina avatāra izmērus
function resize() {

$result4 = mysql_query("SELECT * FROM members WHERE id='$id'");
while($url = mysql_fetch_array($result4)) {

	$img = $url['image'];
}

list($width) = getimagesize($img);

if($width > 150) {

	echo "width='150'";

}

}

 

Kods, kur vajadzētu resize() vietā izmest width='150', ja bilde lielāka par šo skaitli... Bet neizmet :?

$result = mysql_query("SELECT * FROM members WHERE id = '$id'");
while($row = mysql_fetch_array($result)) {
echo "<h1>Čau, {$row['name']}  {$row['surname']}!</h1> \n";
echo "<img src='{$row['image']}' alt='Lietotaja bilde' ";
resize();
echo " /><br />";
}

 

Gan jau tizla kļūda, jo php mācos ~ 5 mēnešus un ne intensīvi,

Jau iepriekš paldies par palīdzību ;)

 

EDIT:

tikko iedomājos, ka varu iztikt bez funkcijas, bet interesē, kāpēc nestrādā...

Edited by Ownmen
Link to comment
Share on other sites

Atbilde uz +jautājumu:

Jā - Tu uzreiz vari rakstīt selectu:

SELECT image FROM members WHERE id = ...

Ņemot vērā, ka rezultāts būs viena rindiņa, tad vari While aizvietot ar if

if($url = mysql_fetch_array($result4)){

$img = $url[0];

}

else {

//...

}

 

 

funkcija parasti netaisa echo, bet gan return

 

un es laikam rakstītu nevis

list($width) = getimagesize($img);

bet gan

$imginfo=getimagesize($img);

if($imginfo[0]>150){

return " width='150' ";

}

else {

return ""; //Lai pavisam būtu skaidrs

}

 

Problēma, manuprāt bija tur, ka tas $width bija masīvs. Tātad tev vajadzēja salīdzināt masīva elementu ar vērtību, nevis pašu masīvu.

Link to comment
Share on other sites

Nu kā jau Kristabs teica, funkcijai vai nu jāpadod mainīgais $id, vai arī jātais global iekš funkcijas.

 

Plus, manuprāt, man šķiet, ka otrreiz selektēt bildi ir pilnīgi lieki, un vispār šī funkcija manuprāt ir lieka :)

Link to comment
Share on other sites

×
×
  • Create New...