Arrays vergleichen

makitaman

Mitglied
Hi Leute
hab hier schon die Suche benutzt und bin aber zu keinem, mir persönlich, Ergebniss gekommen.
Mein Eigentliches Vorhaben war, aus mind.2 Datenbanken zwei Ergebnisse zu bekommen und dann wiederum davon das größte zu nehmen.
Hab jetzt hiermit:
PHP:
$testen= mysql_query("SELECT banurl, max(hitsout) as hitsout FROM bilder GROUP BY banurl ORDER BY hitsout DESC LIMIT 1");
while($show2 = mysql_fetch_object($testen)) 
{ 
$hitsout1 = $show2->hitsout;
$ban1 = $show2->banurl;
}
$ergebnis3 = mysql_query("SELECT banurl, max(hitsout) as hitsout FROM privat GROUP BY banurl ORDER BY hitsout DESC LIMIT 1"); 
while($show3 = mysql_fetch_object($ergebnis3)) 
{ 
$hitsout2 = $show3->hitsout;
$ban2 = $show3->banurl;
}
die beiden tabellen ausgelesen und je 2 Ergebnisse erhalten.
So weit so gut
Jetzt hab ich die in je ein Array gehaun.
PHP:
$arr1= array($hitsout1, $hitsout2);
$arr2= array($ban1, $ban2);
$maxx = max($arr1); // um den größten wert hier zu ermitteln
echo $maxx;

jetzt fangen die Probleme an, wie erhalte ich passend zum Max-array1 den Passenden $ban wert.
ich komm nicht weiter.
Falls das alles auch anders geht bin ich gerne für Vorschläge offen.

mfg
Matze
 
Ähm … was willst du genau machen? Irgendwie versteh ich die Fragestellung gerade nicht so recht. Willst du den grössten Wert eines Arrays herausfinden? Das macht man – wie du schon bemerkt hast – mit [phpf]max[/phpf]. Wo genau liegt also das Problem?
 
ich will mir das passende ergebniss zum 1. Array aus dem 2. Array augegen wird
array1
[0] [$hitsout1]
[1] [$hitsout2]

array2
[0] [$ban1]
[1] [$ban2]

also wenn im array1 [0] der größte wert ist soll mir der Eintrag [0] vom array2 angezeigt werden.

Ich hoffe ich hab mich richtig ausgedrückt.
vielleicht gehts ja auch unkomplizierter:confused:
 
PHP:
$result = array();

$query = mysql_query('SELECT `banurl`, MAX(`hitsout`) AS `maxhits` FROM `bilder` GROUP BY `banurl` ORDER BY `maxhits` DESC LIMIT 1');
while ($array = mysql_fetch_assoc($query)) {
	$result[$array['banurl']] = $array['maxhits'];
}


$query = mysql_query('SELECT `banurl`, MAX(`hitsout`) AS `maxhits` FROM `privat` GROUP BY `banurl` ORDER BY `maxhits` DESC LIMIT 1');
while ($array = mysql_fetch_assoc($query)) { 
	$result[$array['banurl']] = $array['maxhits'];
}

$maximum = max($result); // hier sind die Hits
$maximum2 = array_search($maximum, $result); // hier die Ban-URL
So könnte man das meines Erachtens eleganter lösen – du hast nur noch ein Array, die Hits sind die Werte und die URLs die Schlüssel (Voraussetzung hierbei ist natürlich, dass die URLs nicht mehrfach vorkommen).
 
Ich muß noch mal die Antwort in eine weitere Frage ändern
kann man jetzt auch mehrere Sachen aus der Datenbank such und augsgeben lassen? z.b. so:
PHP:
$result = array(); 
$query = mysql_query('SELECT `hpname`, MAX(`klicks`) AS `maxhits`, sum(`klicks`) AS `down`, count(`id`) AS `anza` FROM `down_kat_Packprogramme` GROUP BY `hpname` ORDER BY `maxhits` DESC LIMIT 1'); 
while ($array = mysql_fetch_assoc($query)) { 
    $result3[$array['hpname']] = $array['maxhits']; 
    $result4[$array['klicks']] = $array['down']; 
    $result5[$array['id']] = $array['anza']; 
}
und dann so ausgeben?
PHP:
$maximum = max($result3); // hier sind die Hits
$maximum2 = array_search($maximum, $result3); // hier die Ban-URL 
$max = count($result4); 
$anzahl= count($result5);

wenn das richtig sein sollte, was ich nicht glaube, dann bekomme ich kein Ergebnis.
*grübel*:confused:

please help
 
Zurück