Problem mit arrays()

uhuwe

Mitglied
Datei: function.php
PHP:
<?php
function list_links()
{
include("connect.php");

$sql='SELECT * FROM `list` order by `id` desc';
$res=mysql_query($sql);

while($read=mysql_fetch_array($res))
{ echo $read['link'];}

mysql_close($connect);
}

function read_witz()
{
include("connect.php");

$sql = 'SELECT * FROM `witz` where `id`='.number_format($_GET['id'],0,"","");
$res=mysql_query($sql);
$read=mysql_fetch_array($res);

echo nl2br($read['witz']);

mysql_close($connect);
}
?>
und Datei: common.php
PHP:
<?php
include('function.php');

$witze=array(

'links'=>list_links(),
'witz'=>read_witz(),
);
?>

Ich habe da folgendes Problem:

Wenn ich
PHP:
echo $witze['link'];
ausgeben lasse, ist alles richtig.
Lass ich aber
PHP:
echo $witze['witz'];
ausgeben, wird
PHP:
echo $witze['links'];
auch aus gegeben.

Was muß ich anders machen?
 
Ohne mit das ganze näher anzusehen solltest du im Code

Code:
<?php
include('function.php');

$witze=array(

'links'=>list_links(),
'witz'=>read_witz(),
);
?>

den letzten "," (nach read_witz())) im Array löschen, da er zuviel ist.
Vielleicht liegt es ja sogar daran.
 
motb hat gesagt.:
Ohne mit das ganze näher anzusehen solltest du im Code

Code:
<?php
include('function.php');

$witze=array(

'links'=>list_links(),
'witz'=>read_witz(),
);
?>

den letzten "," (nach read_witz())) im Array löschen, da er zuviel ist.
Vielleicht liegt es ja sogar daran.
Hab gemacht. Trotzdem unverändert.
 
$witze['links'] und $witze['witz'] sind bei deinem Script aber leer - deine Funktionen geben nämlich nichts zurück.
 
Ja, aber die Funktionen geben die Ergebnisse der DB-Abfrage nicht zurück, sondern senden sie an den Browser. Also wird deinen Array-Komponenten nichts zugewiesen :rolleyes:
 
Also bei mir wird aus $witz['links'] ein Link, und aus $witze['witz'] komischerweiße beides zurück gegeben, also ein Link und der Witz aus der DB.
 
PHP:
<?php

	include('connect.php');


	function list_links() {
		$output = '';
		$query = "
			SELECT
			        `link`
			  FROM
			        `list`
			  ORDER BY
			         `id` DESC
			";
		$result = mysql_query($query);
		while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
			$output .= $row['link'];
		}
		return $output;
	}

	function read_witz() {
		$query = "
			SELECT
			        `witz`
			  FROM
			        `witz`
			  WHERE
			        `id` = " . number_format($_GET['id'], 0, '', '') . "
			";
		$result = mysql_query($query);
		$row = mysql_fetch_array($result, MYSQL_ASSOC);
		return nl2br($row['witz']);
	}

	mysql_close($connect);

?>
 
Zuletzt bearbeitet:
Gumbo hat gesagt.:
PHP:
<?php

	include('connect.php');


	function list_links() {
		$output = '';
		$query = "
			SELECT
			        *
			  FROM
			        `list`
			  ORDER BY
			         `id` DESC
			";
		$result = mysql_query($query);
		while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
			$output .= $read['link'];
		}
		return $output;
	}

	function read_witz() {
		$query = "
			SELECT
			        *
			  FROM
			        `witz`
			  WHERE
			        `id` = " . number_format($_GET['id'], 0, '', '') . "
			";
		$result = mysql_query($query);
		$row = mysql_fetch_array($res, MYSQL_ASSOC);
		return nl2br($read['witz']);
	}

	mysql_close($connect);

?>
Diese Variante functioniert nicht. -> Fehlermeldung
 
Zurück