Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

link -> function

Empfohlene Antworten

Veröffentlicht

ich hab ein "formular" (index.php) in das ich ne function schreiben will und diese auch im selben "formular" nach dem motto;

if(button geklick){führe function aus} auführen möchte.

die function gibt meine aktuelle tabelle als .csv in excel aus.

wär cool wenn mir einer bei der syntax weiterhelfen kann:)

Wo genau klemmts denn?

Beim verbinden der Funktion mit einem Link?

oder bei der Ausgabe?

Welche Sprache?


<?php

if ($_GET["action"]=="print")
{
header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename: Tabelle.csv;");
read("tabelle.csv"); // Oder wie auch immer du die Tabelle ausgibst
}
else
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>mein Dokument</title>
...
<a href="<?php echo $_SERVER["php_self"]; ?>?action=print"> Tabelle</a>
...
</html>
<?php
}
?>
[/php]


<?php
[COLOR="Red"]<--bösefalle[/COLOR]
if ($_GET["action"]=="print")
{
header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename: Tabelle.csv;");
read("tabelle.csv"); // Oder wie auch immer du die Tabelle ausgibst
}
else
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>mein Dokument</title>
...
<a href="<?php echo $_SERVER["php_self"]; ?>?action=print"> Tabelle</a>
...
</html>
<?php
}
?>
[/php]

Durch den Absatz nach dem <?php wird der header- Befehl nen Fehlerausgeben. Der kann nicht gesendet werden, wenn der Header bereits wegen dem Leerzeichen, Absatz oder html, gesendet wurde.

das problem ist folgendes:

in meiner index.php gibt es die variable

$query="SELECT * FROM ma_au WHERE ". $query_where;

dessen wert ich irgendwie an meine excel.php übergeben muss, um die aktuelle tabelle mit rücksicht auf die suchfunktionen auszugeben. (es soll nicht die ganze tabelle als .csv ausgegeben werden, sondern nur die nach der suche)

sollte jemand zeit und lust haben sich meine beiden codes anzusehen werd ich sie gerne posten:)

Poste sie halt einfach...sont kann dir eh keiner helfen.

INDEX:

session_start();
include("config.inc.php");
?>

<html>
<head><title>index</title></head>
<body>
<font face="VERDANA,ARIAL,HELVETICA" size="1">
<?
include("header1.php");

$db=mysql_connect($db_host,$db_user,$db_pw);
mysql_select_db($db_name);
$i=0;
// usertabelle abfragen
$result=mysql_query("SELECT * FROM users_tab WHERE id_user ='".$_SESSION['user']."'");
echo mysql_error();
$line=mysql_fetch_assoc($result);
// print_r($line);
if($line['password_user']!=$_SESSION['pw'] or $_SESSION['pw']==""){
// kein gueltiger user, also login anzeigen
$output=implode(file("login.php"),"");
echo $output;
}

elseif($line['user_type_user'] == 6){
?><center>Sie haben nicht die erforderlichen Rechte!</center><?
}



else{
$typ=$line['user_type_user'];

?><FORM NAME="aceButton"><INPUT TYPE="BUTTON" VALUE="Logout"
onClick="self.location.href=('logout.php')"></FORM><?
if($typ==5)
{
?><FORM NAME="aceButton"><INPUT TYPE="BUTTON" VALUE="Useradministration"
onClick="self.location.href=('admin.php')"><?
}

if($typ==2 or $typ==4 or $typ==5 ){
?><INPUT TYPE="BUTTON" VALUE="Neuer Datensatz"
onClick="self.location.href=('add.php')"><? }

if($typ==3 or $typ==4 or $typ==5){
?><INPUT TYPE="BUTTON" VALUE="Exceltabelle anlegen"
onClick="self.location.href=('excel.php')"><br>
<?
}

$ende=14;
?><br><?
?><INPUT TYPE="BUTTON" VALUE="Suche zurücksetzen"
onClick="self.location.href=('index.php')"></FORM><?
//dropdown zusammenbasteln
for($i=0;$i<$ende;$i++){

$dropdown.="<option value='".$auswahl[$i]['intern']."'>".$auswahl[$i]['anzeige']."</option>";
}
$dropdown.=" </select>";

?><form action="index.php" method="POST"><?

// Auswahlmenu
$i=0;
while($_POST["suche".$i]!=""){
echo "<select name='auswahl".$i."' value='".$_POST["auswahl".$i]."'>";
$dropdown_new=str_replace("value='".$_POST["auswahl".$i]."'","value='".$_POST["auswahl".$i]."' selected",$dropdown);
echo $dropdown_new;
echo "<input type='text' name='suche".$i."' value='".$_POST["suche".$i]."'><br>";
$i++;
}
// es soll imemr ein leeres suchfeld geben
echo "<select name='auswahl".$i."'>";
echo $dropdown;
echo "<input type='text' name='suche".$i."' >";
echo "<input type='submit'><br>";
echo"</form>";
?>

<? $query = "SELECT * FROM ma_au";
$res = mysql_query($query);
$num = mysql_num_rows($res);

$farbe1 = "#F5F5F5";
$farbe2 = "#FAFAFA";

for($i = 0; $i < $num; $i++)
{
?><table border="1" frame="box" cellspacing="2" cellpadding="2" rules="all">
<tr>
<?
}

?>

<?
if($typ == 2 or $typ == 4 or $typ == 5){$tabellenkopf="<td bgcolor='#F7F7F7' align='center'></td>";}
else
{$tabellenkopf="<td bgcolor='#F5F5F5' align='center'></td>";}

for($i=0;$i<$ende;$i++){
//farbauswahl in der kopfzeile
if ($i<14) { $tabellenkopf.= "<td bgcolor='#FBE604'>";}
elseif($i>=14 and $i< 16) { $tabellenkopf.= "<td bgcolor='#3CC31A'>";}
elseif($i>=16 and $i< 22) { $tabellenkopf.= "<td bgcolor='#1C708D'>";}
elseif($i>=22 and $i< 28) { $tabellenkopf.= "<td bgcolor='#731C8D'>";}
elseif($i>=28 and $i< 30) { $tabellenkopf.= "<td bgcolor='#6D8D1C'>";}
elseif($i>=30) { $tabellenkopf.= "<td bgcolor='#6D1D1C'>";}
else{$tabellenkopf.= "<td>";};
$tabellenkopf.= $auswahl[$i]['anzeige'];
$tabellenkopf.= "</td>";
}

//suchquery zusammenbasteln
$i=0;
while($_POST["suche".$i]!=""){
if($i==0)
{
$query_where=mysql_escape_string($_POST["auswahl".$i])." like '%".mysql_escape_string($_POST["suche".$i])."%'";
}else{
$query_where.=" AND ".mysql_escape_string($_POST["auswahl".$i])." like
'%".mysql_escape_string($_POST["suche".$i])."%'";
}
$i++;
}
if($i==0){
$query="SELECT * FROM ma_au where 1";
}else{
$query="SELECT * FROM ma_au WHERE ". $query_where;
}

//ausgabe query
$result=mysql_query($query);
echo mysql_error();


if(mysql_num_rows($result)==0){
echo" kein Datensatz gefunden";
}else{
echo $tabellenkopf;
for($i=0;$i<mysql_num_rows($result);$i++){
$line=mysql_fetch_assoc($result);



//print_r($line);


$tabelleninhalt.="<tr>";
$tabelleninhalt.="<td bgcolor='#F7F7F7'><a href='detail.php?ma_nr=".$line[$auswahl[0]['intern']]."'>
<img src='./images/detail.gif' border='0'</a>";

if($typ == 2 or $typ == 4 or $typ == 5){

$tabelleninhalt.="<a href='del.php?ma_nr=".$line[$auswahl[0]['intern']]."'>
<img src='./images/del.png' border='0'</a>";
$tabelleninhalt.="<a href='edit.php?ma_nr=".$line[$auswahl[0]['intern']]."'><img src='./images/edit.png'
border='0'</a></td>";
}


$tabelleninhalt.="<td ma_nr=".$line[$auswahl[0]['intern']]."'>".$line[$auswahl[0]['intern']]."</a></td>";

for($j=1;$j<$ende;$j++)
{
// datumsüberprüfung ob datum 0000-00-00
if($j==8 or $j==9 or $j==10 or $j==11)
{
if($line[$auswahl[$j]['intern']]=="0000-00-00")
{
$tabelleninhalt.="<td> </td>";
}else{
//$tabelleninhalt.="<td>".$line[$auswahl[$j]['intern']]."</td>";
$tabelleninhalt.="<td>".date("d.m.Y",strtotime($line[$auswahl[$j]['intern']]))."</td>";
}
}else{
$tabelleninhalt.="<td>".$line[$auswahl[$j]['intern']]."</td>";
}
}
$tabelleninhalt.="</tr>";

}
echo $tabelleninhalt."<table>";
}
}
?>
</font>
</body>
</html>[/PHP]

EXCEL:

[PHP]<?
ob_start();
session_start();
include ("config.inc.php");
include ("index.php");



$head='';
$excel=FOPEN("excel.csv", "w");
for($i=0;$i<35;$i++)
{
$head = $head.$auswahl[$i][anzeige].';';
}
FWRITE($excel, $head."\n");

$result=mysql_query($query);
for($j=0;$j<mysql_num_rows($result);$j++)
{
$line=mysql_fetch_assoc($result);
$data = '';
for($i=0;$i<35;$i++)
{
$data = $data.$line[$auswahl[$i][anzeige]].';';
}
FWRITE($excel, $data."\n");
}
FCLOSE($excel);


header("Location: excel.csv");
ob_end_flush();
?>

Wie man erkennen gibt es von der index nur einen link zur excel.php..

Durch den Absatz nach dem <?php wird der header- Befehl nen Fehlerausgeben.

Ich kenn es umgekehrt... ein Absatz bzw. HTML-Code vor dem <?php bewirkt eine Ausgabe. Da <?php aber ganz am Anfang vom Dokument steht, und Leerzeilen innerhalb des php-Abschnittes php nicht zu einer Ausgabe animieren, gibt es mit meinem Code oben keinen Fehler.

diesen


$query_where=mysql_escape_string($_POST["auswahl".$i])." like '%".mysql_escape_string($_POST["suche".$i])."%'";
[/PHP]

suchbefehl aus der index.php möchte ich an excel übergeben...

...nur wie?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.