goodnight need to keep a calendar event laravel - php

goodnight need to keep a calendar event laravel and make a calendar but I can not do any other please Amano in this and in advance thank you very much
this is the code of my calendar
<?php
$month=date("n");
$year=date("Y");
$diaActual=date("j");
$diaSemana=date("w",mktime(0,0,0,$month,1,$year))+7;
$ultimoDiaMes=date("d",(mktime(0,0,0,$month+1,1,$year)-1));
$meses=array(1=>"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio",
"Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
?>
<!DOCTYPE html>
<html lang="es">
<head>
<title>calendario </title>
<meta charset="utf-8">
<style>
#calendar {
font-family:Arial;
font-size:12px;
}
#calendar caption {
text-align:left;
padding:5px 10px;
background-color:#003366;
color:#fff;
font-weight:bold;
}
#calendar th {
background-color:#006699;
color:#fff;
width:40px;
}
#calendar td {
text-align:right;
padding:2px 5px;
background-color:silver;
}
#calendar .hoy {
background-color:red;
}
</style>
</head>
<body>
<h1>calendario </h1>
<table id="calendar">
<caption><?php echo $meses[$month]." ".$year?></caption>
<tr>
<th>Lun</th><th>Mar</th><th>Mie</th><th>Jue</th>
<th>Vie</th><th>Sab</th><th>Dom</th>
</tr>
<tr bgcolor="silver">
<?php
$last_cell=$diaSemana+$ultimoDiaMes;
// hacemos un bucle hasta 42, que es el máximo de valores que puede
// haber... 6 columnas de 7 dias
for($i=1;$i<=42;$i++)
{
if($i==$diaSemana)
{
// determinamos en que dia empieza
$day=1;
}
if($i<$diaSemana || $i>=$last_cell)
{
// celca vacia
echo "<td> </td>";
}else{
// mostramos el dia
if($day==$diaActual)
echo "<td class='hoy'>$day</td>";
else
echo "<td>$day</td>";
$day++;
}
// cuando llega al final de la semana, iniciamos una columna nueva
if($i%7==0)
{
echo "</tr><tr>\n";
}
}
?>
</tr>
</table>
</body>
</html>
this is the structure I only need to add the event and select dates mvc but everything goes to get here

Related

How can i make a for loop work in a calendar in php?

This is the script
<?php
//$choix_Id= 521
//Partie SQL
//$sql = "SELECT noperiode FROM Reservations WHERE ref_Choix = //$choix_Id;
//$nopériode= $période+10;
// Fuseau horaire de Toronto (le plus près surpporté selon manuel php)
date_default_timezone_set('America/Toronto');
// Passer d'un mois à l'autre
if (isset($_GET['ym'])) {
$mois = $_GET['ym'];
} else {
// Le mois consulté
$mois = date('Y-m');
}
// "strtotime Transforme un texte anglais en timestamp" - manuel php
$timestamp = strtotime($mois . '-01');
if ($timestamp === false) {
$mois = date('Y-m');
$timestamp = strtotime($mois . '-01');
}
// Aujourdhui
$aujourdhui = date('Y-m-j', time());
// Titre calendrier/mois
$titre_mois = date('Y / m', $timestamp);
// lien du mois suivant ou précédent
$précedant = date('Y-m', strtotime('-1 month', $timestamp));
$suivant = date('Y-m', strtotime('+1 month', $timestamp));
// Nombre de jours dans le mois
$nb_jours = date('t', $timestamp);
// 0:Dim 1:Lun 2:Mar ...
$str = date('w', $timestamp);
// Création du calendrier
$semaines = array();
$semaine = '';
// Création de cellules vides
$semaine .= str_repeat('<td></td>', $str);
$nosemcal= 3;
$noperiodecal=array(2,3,5);
$len_noper = count($noperiodecal)-1;
echo $len_noper;
for ( $jour = 1; $jour <= $nb_jours; $jour++, $str++) {
//for($i=0; $i<=$len_noper;$i++){
$date = $mois . '-' . $jour;
$semainecal = date("W",strtotime($date))-13;
$periodecal = date("w",strtotime($date));
//for ($i=0; $i<=$len_noper;$i++){
if ($nosemcal==$semainecal and $noperiodecal[2]==$periodecal) {
$semaine .= '<td class="reserve">' . $jour;
}else {
$semaine .= '<td class="dispo">' . $jour;
}
// Fin de la semaine ou du mois
if ($str % 7 == 6 || $jour == $nb_jours) {
if ($jour == $nb_jours) {
// nouvelle cellule vide
$semaine .= str_repeat('<td></td>', 6 - ($str % 7));
}
$semaines[] = '<tr>' . $semaine . '</tr>';
// Début d'une nouvelle semaine
$semaine = '';
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Calendrier Disponibilités</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonmoisous">
<link href="https://fonts.googleapis.com/css?family=Noto+Sans" rel="stylesheet">
<style>
.fond {
font-family: 'Noto Sans', sans-serif;
margin-top: 80px;
}
h3 {
margin-bottom: 30px;
}
th {
height: 30px;
text-align: center;
}
td {
height: 100px;
}
.dispo {
background: green;
}
.reserve {
background: red;
}
</style>
</head>
<body>
<div class="fond">
<h3>< <?php echo $titre_mois; ?> ></h3>
<table class="table table-bordered">
<tr>
<th>D</th>
<th>L</th>
<th>M</th>
<th>M</th>
<th>J</th>
<th>V</th>
<th>S</th>
</tr>
<?php
foreach ($semaines as $semaine) {
echo $semaine;
}
?>
</table>
</div>
</body>
</html>
This is the result
enter image description here
What i want is all the days in the array $noperiodecal to be in red not just one and without repeating the days of the calendar or the calendar itself. So the 19th, 20th and 22th of April 2022 but not manually like I did for the 19th. I've tried to move the for($i) loop but it changes the whole calendar each times.

How to add a header and footer to a PDF generated with DOMPDF and Laravel 5.8

Am using barryvdh/laravel-dompdf in a Laravel 5.8 app
I have a problem with the header and footer.
Preview PDF
I have this function to Generate PDF:
public function getProductPdf(Request $request, int $id)
{
$product = $this->cmsRepository->getProduct($id);
$data = [
'title' => 'First PDF for Medium',
'heading' => 'Hello from 99Points.info',
'content' => 'Od kilku dni w szeregach Platformy Obywatelskiej trwa czas powyborczych rozliczeń. Kolejni politycy krytykują działania partii pod kierunkiem Grzegorza Schetyny, którego kadencja na stanowisku przewodniczącego kończy się za kilka miesięcy. Walki o przywództwo nie wyklucza Borys Budka. - Jestem skłonny startować w tych wyborach, bo musi być jakiś wybór - powiedział polityk w rozmowie z "Gazetą Wyborczą".'
];
$pdf = \PDF::setOptions(['dpi' => 150, 'defaultFont' => 'sans-serif', 'defaultPaperSize' => 'a3'])->loadView('psCMS.prints.product-view', $data);
return $pdf->download('product-' . $product->id . '-' . now()->toDateString() . '.pdf');
}
This is my template to print:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{{ $title }}</title>
<style type="text/css">
.page-break {
page-break-after: always;
}
/*#page {*/
/* margin: 0px 0px 0px 0px !important;*/
/* padding: 0px 0px 0px 0px !important;*/
/*}*/
th,
td,
p,
div,
b {
margin: 0;
padding: 0
}
html {
margin: 40px 50px
}
body {
font-family: DejaVu Sans;
font-style: normal;
font-weight: 400;
/*margin: 0px;*/
font-size: 18px;
}
* {
font-family: DejaVu Sans, Verdana, Arial, sans-serif;
}
a {
color: black;
text-decoration: none;
}
table {
font-size: x-small;
}
tfoot tr td {
font-weight: bold;
font-size: 18px;
}
.gray {
background-color: lightgray
}
.information {
color: black;
font-size: 18px;
}
.information .logo {
margin: 5px;
}
.information table {
padding: 10px;
font-size: 18px;
}
.document {
padding-bottom: 50px;
}
</style>
</head>
<body>
<div class="information">
<table width="100%">
<tr>
<td align="left" style="width: 40%;">
<h3>John Doe</h3>
<pre>
Street 15
123456 City
United Kingdom
<br/><br/>
Date: 2018-01-01
Identifier: #uniquehash
Status: Paid
</pre>
</td>
<td align="center">
<img src="/path/to/logo.png" alt="Logo" width="64" class="logo" />
</td>
<td align="right" style="width: 40%;">
<h3>CompanyName</h3>
<pre>
https://company.com
Street 26
123456 City
United Kingdom
</pre>
</td>
</tr>
</table>
</div>
<br />
<h1>{{ $heading}}</h1>
<div class="document">
<p>{{$content}}</p>
<table width="100%">
<tr>
<td valign="top"><img src="{{asset('images/meteor-logo.png')}}" alt="" width="150" /></td>
<td align="right">
<h3>Shinra Electric power company</h3>
<pre>
Company representative name
Company address
Tax ID
phone
fax
</pre>
</td>
</tr>
</table>
<table width="100%">
<tr>
<td><strong>From:</strong> Linblum - Barrio teatral</td>
<td><strong>To:</strong> Linblum - Barrio Comercial</td>
</tr>
</table>
<br />
<table width="100%">
<thead style="background-color: lightgray;">
<tr>
<th>#</th>
<th>Description</th>
<th>Quantity</th>
<th>Unit Price $</th>
<th>Total $</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Playstation IV - Black</td>
<td align="right">1</td>
<td align="right">1400.00</td>
<td align="right">1400.00</td>
</tr>
<tr>
<th scope="row">1</th>
<td>Metal Gear Solid - Phantom</td>
<td align="right">1</td>
<td align="right">105.00</td>
<td align="right">105.00</td>
</tr>
<tr>
<th scope="row">1</th>
<td>Final Fantasy XV - Game</td>
<td align="right">1</td>
<td align="right">130.00</td>
<td align="right">130.00</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="3"></td>
<td align="right">Subtotal $</td>
<td align="right">1635.00</td>
</tr>
<tr>
<td colspan="3"></td>
<td align="right">Tax $</td>
<td align="right">294.3</td>
</tr>
<tr>
<td colspan="3"></td>
<td align="right">Total $</td>
<td align="right" class="gray">$ 1929.3</td>
</tr>
</tfoot>
</table>
Pence poinformował po trwających ponad cztery godziny negocjacjach, że Turcja na 120 godzin zawiesi wszystkie
operacje militarne, by pozwolić kurdyjskim bojownikom na opuszczenie przygranicznego pasa w północno-wschodniej
Syrii, a gdy Kurdowie wycofają się, nastąpi rozejm.
Turcja nie będzie jednak zobligowana do wycofania swoich wojsk z Syrii. Jak pisze AP, cytując przedstawiciela
amerykańskich władz, oznacza to de facto, że Ankara otrzymała pozwolenie USA na okupowanie bezpiecznej strefy.
Negocjatorzy obu stron wydali komunikat, w którym napisano, że stworzenie bezpiecznej strefy "będzie egzekwowane
przede wszystkim przez siły zbrojne Turcji".
Wiceprezydent podkreślił też, że prezydent Donald Trump zagroził, że jeśli Ankara nie zawiesi operacji
wojskowych, to on nie wycofa obecnych sankcji nałożonych na Turcję i pozwoli na wdrożenie następnych.
Dodał, że Ankara i Waszyngton "zobowiązały się do wypracowania pokojowego rozwiązania i przyszłości dla
bezpiecznej strefy" na północnym wschodzie Syrii. Oznajmił, że amerykańskie siły w Syrii zaczęły już ułatwiać
Kurdom bezpieczne wycofanie się z przygranicznych terenów.
Pence powiedział również dziennikarzom, że Ankara obiecała, że jej wojska nie zajmą miasta Kobane (Ajn al-Arab),
nazywanego ogniskiem zapalnym tego konfliktu. Minister spraw zagranicznych Turcji Mevlut Cavusoglu oznajmił
jednak, że Ankara nie udzieliła gwarancji dotyczących Kobane, a jej armia jedynie "przerwała operacje". Dodał,
że status miasta Manbidż "i innych regionów" na północnym wschodzie Syrii, zostanie przedyskutowany z Rosją.
Kurdyjski polityk Aldar Chalil, komentując warunki rozejmu, powiedział telewizji Al-Arabija, że Erdogan chce
wedrzeć się na terytorium Syrii na głębokość 32 km, a Kurdowie już wcześniej odrzucili takie rozwiązanie. Dodał,
że aprobują zawieszenie broni, ale będą się bronić, jeśli zostaną zaatakowani.
Amerykańscy senatorowie, w tym wpływy sojusznik prezydenta Lindsey Graham, poinformowali, że niezależnie od
zapowiedzi rozejmu, będą "pełną parą" pracowali nad ustawą w sprawie nowych sankcji na Ankarę.
"Wspaniałe wiadomości z Turcji"
Trump podziękował na Twitterze Erodganowi i napisał, że otrzymał "wspaniałe wiadomości z Turcji". "Miliony
istnień ludzkich będą uratowane!" - dodał. Oznajmił, że w tej sytuacji możliwa jest wizyta Erdogana w USA w
przyszłym miesiącu.
Nazwał też prezydenta Turcji "twardym facetem", który "zrobił to, co trzeba". Dodał: "Teraz Kurdowie będą
bardziej skłonni robić to, co trzeba".
Przedstawiciel strony tureckiej po negocjacjach powiedział agencji Reutera, że Turcja "dostała dokładnie to,
czego chciała". Porozumienie pozwala Turcji uwolnić się od nałożonych już sankcji i uniknąć kolejnych, a to
oznacza, że w żaden sposób nie zostanie ukarana za inwazję w północno-wschodniej Syrii - komentuje AP.
Reuters przypomina, że ekspedycja sił tureckich zmusiła do ucieczki 200 tys. cywilów. Wzbudziła też niepokój
wspólnoty międzynarodowej o odrodzenie się Państwa Islamskiego (IS), którego bojownicy są zamknięci w
kurdyjskich więzieniach.
Turecka ofensywa wywołała też polityczną burzę w Waszyngtonie, gdzie politycy różnych afiliacji krytykowali
prezydenta za decyzję o wycofaniu amerykańskich żołnierzy z Syrii, co Ankara uznała za przyzwolenie na podjęcie
operacji wojennych - komentuje Reuters.
W środę Trump bronił swojej decyzji, nazywając ją "strategicznie błyskotliwą", ale Izba Reprezentantów tego
samego dnia przyjęła rezolucję potępiającą decyzję prezydenta o wycofaniu amerykańskich żołnierzy z Syrii.
Za rezolucją, w liczącej 435 miejsc niższej izbie Kongresu, głosowało 354 kongresmenów, czyli wszyscy Demokraci
i duża grupa Republikanów. W czwartek głosowanie nad analogiczną rezolucją zapowiedział Senat.
</div>
<footer>
<div class="footer" style="position: absolute; bottom: 0;">
<table width="100%">
<tr>
<td align="left" style="width: 50%;">
© {{ date('Y') }} {{ config('app.url') }} - All rights reserved.
</td>
<td align="right" style="width: 50%;">
Company Slogan
</td>
</tr>
</table>
</div>
</footer>
</body>
</html>
I need Header and Footer to be visible on every page in PDF.
The template looks ok, but there is a problem with the header and footer.
Header = John Doe, Company Name, etc.
Footer = Company slogan, #2019-10-17
How can I add in footer: [page number] from [number of pages]?
Add style for the header and footer page.
<style>
#page { margin: 180px 50px; }
#header { position: fixed; left: 0px; top: -180px; right: 0px; height: 150px; background-color: orange; text-align: center; }
#footer { position: fixed; left: 0px; bottom: -180px; right: 0px; height: 150px; background-color: lightblue; }
#footer .page:after { content: counter(page, upper-roman); }
</style>
Add the header part inside this div.
<div id="header">
</div>
Add Footer part in the following div.
<div id="header">
</div>
Enable DOMPDF_ENABLE_PHP from /config/dompdf.php
Publish vendor file via php artisan vendor:publish command
Pass $pdf object from controller:
List item
You should add the following script in the view file.
<script type="text/php">
if ( isset($pdf) ) {
// OLD
// $font = Font_Metrics::get_font("helvetica", "bold");
// $pdf->page_text(72, 18, "{PAGE_NUM} of {PAGE_COUNT}", $font, 6, array(255,0,0));
// v.0.7.0 and greater
$x = 72;
$y = 18;
$text = "{PAGE_NUM} of {PAGE_COUNT}";
$font = $fontMetrics->get_font("helvetica", "bold");
$size = 6;
$color = array(255,0,0);
$word_space = 0.0; // default
$char_space = 0.0; // default
$angle = 0.0; // default
$pdf->page_text($x, $y, $text, $font, $size, $color, $word_space, $char_space, $angle);
}
</script>

Write text inside a < div > from an external function. PHP

Sorry if I have done wrong , is my first question on StackOverflow.
I want to write the value of var after doing several checks that are within the functions and as a result if everything is okey want to print the variables in a particular div. I have created three different div , one to display errors , one to show var and other one for the form.
What I Do That IS THIS:
https://mega.co.nz/#!3EQGQSAL!94ao1u6UhARYaYdjJzfFqY6ln1oPyO9JQ4_ElT7WEkA
Code:
<html>
<head>
<meta charset="UTF-8">
<title>Agenda Alex Ventura</title>
<style type="text/css">
#errores {
display: block;
background-color: grey;
border-color: red;
border-top-style: double;
border-right-style: double;
border-bottom-style: double;
border-left-style: double;
}
#contactos {
margin-top: 20px;
background-color: aquamarine;
}
#formulario{
margin-top: 50px;
}
</style>
</head>
<body>
<div id="errores">
<?php
if (!(isset($_POST['enviar']))) {
//Primera vez
$nombre = "";
$telefono = "";
} else {
if (errores()) {
//Segunda o siguientes veces con error
$nombre = "";
$telefono = "";
} else {
//Todo ok
$nombre = $_POST['nombre'];
$telefono = $_POST['telefono'];
imprimir_datos();
}
}
function errores() {
$nombre = $_POST['nombre'];
$telefono = $_POST['telefono'];
if ((empty($nombre)) || (empty($telefono))) {
echo "Los campos de usuariio y telefono no pueden estar vacíos";
return true;
}
if (strlen($telefono) < 9) {
echo "El telefono debe tener 9 digitos " . strlen($telefono);
return true;
}
if (strlen($telefono) > 9) {
echo "El telefono debe tener 9 digitos " . strlen($telefono);
return true;
}
$expresion = '[0-9]';
if (preg_match($expresion, $telefono) != true) {
echo "El telefono debe tener solo numeros " . ($telefono);
return true;
}
return false;
}
?>
</div>
<div id="contactos">
<?php
function imprimir_datos() {
$nombre = $_POST['nombre'];
$telefono = $_POST['telefono'];
echo "Nombre: $nombre, Telefono: $telefono</br>";
}
?>
</div>
<div id="formulario">
<form action=<?php echo $_SERVER['PHP_SELF'] ?> method="POST">
Nombre : <input type="text" name="nombre" value="<?php echo "$nombre"; ?>"/>
Telefono: <input type="text" name="telefono" value="<?php echo "$telefono"; ?>"/>`enter code here`
<input TYPE="submit" VALUE="Enviar" name="enviar"/>
</form>
</div>
</body>
https://mega.co.nz/#!CA5TmCQJ!utWGpH7PZwpPcHbDK3eTG6JMuTRz_Z6KKAFWtbqPm1o
oh, i see now. Patterns needs delimiters.
change this:
if (preg_match($expresion, $telefono) != true) {
to this:
if (preg_match("/" . $expresion . "/", $telefono) != true)
And for the printing the details, try this. Move the function outside from the div, and call it within the div.
<div id="contactos"><?php imprimir_datos(); ?></div>
<?php
function imprimir_datos() {
$nombre = $_POST['nombre'];
$telefono = $_POST['telefono'];
echo "Nombre: $nombre, Telefono: $telefono</br>";
}
?>

How to change VAR?

I've got a part of a PHP script, but it gives a T_CLASS error.
But i'm not sure how to convert the VAR element into a php5 compliant code...
Can somebody help me?
<?php // Defining the "calc" class
if (!class_exists('calc'))
class calc {
var $number1;
}
?>
p.s. this is just part of a bigger code, but it keeps saying: "PHP Syntax Check: Parse error: syntax error, unexpected T_CLASS in your code on line 3". So the error should be either in "class calc {" or in "var $number1;". Please help :P
I had to place the entire code. Just adding the brackets gave me a new error.
<?php // Defining the "calc" class
if (class_exists('calc')) {
class calc {
var $number1;
}
}
function boek($number1)
{
$result =$number1 * 2;
echo "Om een tekst van $number1 pagina's te redigeren, rekenen wij: <strong>€ $result,-*</strong></br>";
echo "<small>*Deze prijs is slechts een indicatie. Om een vrijblijvende offerte aan te vragen kunt u gebruikmaken van het contactformulier onderaan de pagina. <br/><span style=\"text-decoration: underline;\">Let op: studenten krijgen op vertoon van hun studentenpas 25% korting.</span></small>";
}
}
//Creating object of class
$calc = new calc();
?>
<style type="text/css">
.calcbutton {
Cursor: pointer;
display: block;
text-indent: -5000px;
width: 136px;
height: 44px;
border: none;
background-image: url('http://www.mijncreaties.com/wp-content/themes/GoedVerwoord/images/buttons.png');
background-repeat: no-repeat;
}
.calcbutton {background-position: top left;}
.calcbutton:hover {background-position: center left;}
.calcbutton:active {background-position: bottom left;}
</style>
<form name="calc" action="" method="POST">
<table>
<tr>
<td>Aantal pagina's: </td>
<td><input type="text" style="padding-left: 3px;" class="calc-form wpcf7-text" name="value1" value="0" onfocus="if (this.value == '0') {this.value = '';}" onblur="if (this.value == '') {this.value = '0';}"><br>
<input type="hidden" name="oper" value="boek">
</td>
</tr>
</table>
<input type="submit" value="Bereken prijs" name="submit" class="calcbutton">
</form>
<?
if($_POST['submit']){
$number1 = $_POST['value1'];
$oper = $_POST['oper'];
if(!$number1){
echo "<p><font color=\"red\">Vul a.u.b. een getal in.</font></p>";
}
if($oper == "boek"){
$calc->boek($number1);
}
}
?>
Try wrapping it in an extra set of braces:
<?php // Defining the "calc" class
if (!class_exists('calc')) {
class calc {
var $number1;
}
}
?>
Editted to add:
if (class_exists('calc')) {
class calc {
var $number1;
function boek($number1)
{
$result =$number1 * 2;
echo "Om een tekst van $number1 pagina's te redigeren, rekenen wij: <strong>€ $result,-*</strong></br>";
echo "<small>*Deze prijs is slechts een indicatie. Om een vrijblijvende offerte aan te vragen kunt u gebruikmaken van het contactformulier onderaan de pagina. <br/><span style=\"text-decoration: underline;\">Let op: studenten krijgen op vertoon van hun studentenpas 25% korting.</span></small>";
}
}
}
Your closing bracket was in the wrong place.
Wrap brackets around that if:
<?php
// Defining the "calc" class
if (!class_exists('calc')){
class calc {
var $number1;
}
}
?>
You will have the same issue when conditionally creating functions:
<?php
if (!function_exists('new_function')){
function new_function{
return 'awesome';
}
}
?>

IE8 Php header location opens a new window

I have a page dynamically filled with content from PHP and databases, the content is loaded into an iframe. Now when I make a custom search, the results are coming out fine on all browsers BUT IE8 (and maybe earlier versions). The browser sorts the results in a new window instead of filling the iframe!
my php search page:
<?php
if (isset($_REQUEST[searchname])) {
$searchname = $_REQUEST[searchname];
if (strlen($searchname) < 3) {
$location = "necrologies_iframe.php?action=tooshort";
header("Location: {$location}");
} else {
$location = "necrologies_iframe.php?action=search&nom={$searchname}";
header("Location: {$location}");
}
}
?>
Is there a way to fill the iframe with results instead of opening a new window?
Edit
The search form/button:
<form id="form1" name="form1" method="get" target="frame" action="http://www.cablevision.qc.ca/fr/code/necrologies_search.php">
<p><strong><a href="javascript:void(0);" onClick="necro_search('est');" >Abitibi-Est</a> | <!--//href="index.php?option=com_content&view=article&id=123&Itemid=146&action=est-->
<a href="javascript:void(0);" onClick="necro_search('ouest');" >Abitibi-Ouest</a> | <!--//href="index.php?option=com_content&view=article&id=123&Itemid=146&action=ouest"-->
<a href="javascript:void(0);" onClick="necro_search('rn');" >Rouyn-Noranda</a> | <!--//href="index.php?option=com_content&view=article&id=123&Itemid=146&action=rn"-->
Témiscamingue <!--//href="index.php?option=com_content&view=article&id=123&Itemid=146&action=temis"-->
</strong> |
<input name="searchname" type="text" id="searchname" value=<?php if (isset($_REQUEST[nom])) { echo '"' . $_REQUEST[nom] . '"'; } else { echo '"rechercher les archives"'; } ?> size="25" />
<input type="submit" name="submit" id="submit" value="Rechercher" />
The iframe part of the page
<iframe id="frame" "width="638px" frameborder="0" src="code/necrologies_iframe.php" scrolling="yes" horizontalscrolling="no" verticalscrolling="yes"></iframe>
the iframe page code
<style type="text/css">
<!--
table
{
line-height: 135%;
font-family: Arial, Helvetica, sans-serif;
font-size:13px;
}
.border {
border: 1px solid #000000;
}
.borderbas {
border-bottom: 1px solid #000000;
}
.padding {
padding: 5px;
}
-->
</style>
<?php
// fichier de connection a la DB
require_once("includes/connection.php");
require_once("includes/functions.php");
?>
<?php
$action = $_REQUEST[action];
$datedujour = date("Y-m-d");
switch ($action) {
case "search":
$searchname = utf8_decode(mysql_prep($_REQUEST[nom]));
$necroresult = mysql_query("SELECT * FROM necrologies WHERE nom LIKE '%{$searchname}%' AND approuve = '1' ORDER BY id DESC ");
if (mysql_affected_rows() == 0) {
// message que je fais afficher si il ne trouve rien (au lieu d'une page blanche qui ne veux rien dire
$message = "<br /><br /><br /><br /><h3>Aucun résultat trouvé </h3><br>Veuillez modifier le nom de la recherche...<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />";
} else {
// sinon on affiche le nombre de resultats trouvés
$necro_num_rows = mysql_num_rows($necroresult);
$message = $necro_num_rows . " résultat(s) trouvés...";
$affiche_liste = 1;
}
break;
case "tooshort":
echo "<br><br><center>Recherche trop courte, veuillez entrer plus de 4 caractères...</center><br><br><br><br><br><br><br><br><br><br><br><br><br>";
break;
case "est":
case "ouest":
case "rn":
case "temis":
$affiche_liste = 1; // pour faire afficher la liste des necro
$necroresult = mysql_query("SELECT * FROM necrologies WHERE datefin > '{$datedujour}' AND approuve = '1' AND region = '{$action}' ORDER BY id DESC ");
break;
default:
// default on vois toutes les necro de toute les regions
$necroresult = mysql_query("SELECT * FROM
necrologies WHERE datefin > '{$datedujour}' AND approuve = '1'
ORDER BY id DESC ");
$affiche_liste = 1;
}
?>
<br />
<?php
// affichage du message
if (isset($message)) {
echo "<br><strong><center>" . $message . "</strong></center><br>";
}
// liste des necro dans des tables
if ($affiche_liste == 1 || !isset($_REQUEST[action])) {
while ($row = mysql_fetch_array($necroresult)) {
?>
<!-- Debut de la table fancy round corner -->
<div align="center">
<table border="0" align="left" cellpadding="0" cellspacing="0" class="tb">
<tr>
<td width="16"><img src="/fr/images/roundtable/top_lef.gif" width="16" height="16"></td>
<td height="16" background="/fr/images/roundtable/top_mid.gif"><img src="/fr/images/roundtable/top_mid.gif" width="16" height="16"></td>
<td width="24"><img src="/fr/images/roundtable/top_rig.gif" width="24" height="16"></td>
</tr>
<tr>
<td width="16" background="/fr/images/roundtable/cen_lef.gif"><img src="/fr/images/roundtable/cen_lef.gif" width="16" height="11"></td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<!-- Debut du content de la table fancy round corner -->
<table width="576" border="0" cellspacing="0" cellpadding="0" class="border" >
<tr >
<td rowspan="2" valign="top"><img src="/fr/images/necrologies/<?php echo utf8_encode($row['photo']); ?>" alt="photo" /><br><img src="/fr/images/cnq/imprimable.gif" border="0" width="150" height="50"></td>
<td width="200" bgcolor="#DFEFFF" class="borderbas" style="border-left: 1px solid #000000; border-right: 1px solid #000000"><center><?php echo nl2br(mb_convert_encoding($row['nom'], "UTF-8", "Windows-1252")); ?></center></td>
<td bgcolor="#DFEFFF" class="borderbas">
<center>
<strong>
<?php
$maison = $row[maison];
if ($maison == "N/D") {
echo "(information non disponible)";
} else {
if (substr($maison, 0, 6) == "La dir") {
echo utf8_encode($maison);
} else {
echo "La direction des funérailles a été confiée à/aux <br>";
echo utf8_encode($maison);
}
}
?>
</strong></center></td>
</tr>
<tr>
<td style="border-left: 1px solid #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: x-small;" colspan="2"><div class="padding" align="left"><?php echo nl2br(mb_convert_encoding($row['description'], "UTF-8", "Windows-1252")); ?></div></td>
</tr>
</table>
<!-- Fin du content de la table fancy round corner -->
</td>
<td width="24" background="/fr/images/roundtable/cen_rig.gif"><img src="/fr/images/roundtable/cen_rig.gif" width="24" height="11"></td>
</tr>
<tr>
<td width="16" height="16"><img src="/fr/images/roundtable/bot_lef.gif" width="16" height="16"></td>
<td height="16" background="/fr/images/roundtable/bot_mid.gif"><img src="/fr/images/roundtable/bot_mid.gif" width="16" height="16"></td>
<td width="24" height="16"><img src="/fr/images/roundtable/bot_rig.gif" width="24" height="16"></td>
</tr>
</table>
</div>
<!-- Fin de la table fancy round corner -->
<!--[if IE 8]>
<style type="text/css">
.tb{
float:left;
align:left;
width:550px;
scrolling-horizontal:none;
}
</style>
<![endif]-->
<!--[if IE 7]>
<style type="text/css">
.tb{
float:left;
align:left;
width:550px;
scrolling-horizontal:none;
}
</style>
<![endif]-->
<!--[if IE 6]>
<style type="text/css">
.tb{
float:left;
align:left;
width:550px;
scrolling-horizontal:none;
}
</style>
<![endif]-->
<br /><br />
<?php
}
}
?>
<?php
// close la connection
mysql_close($connection);
?>
Targets should be named frames or windows; older browsers do not use a frame's ID. So change:
<iframe id="frame" ...
To
<iframe name="frame" id="frame" ...

Categories