PHP - Show sonuçları, şartlı bağlantıya dayanan

2 Cevap php

Aşağıdaki kod ile bazı yardım arıyor. Ben php arama ve fonksiyon çağrıları organize ettik yolu ile ilgili bir sorun olabileceğini düşünüyorum. Ben bir acemi olduğumu ve kullanıcıların tıklayın ne bağlantı bağlı olarak, farklı tablolardan sonuçlarını görüntülemek için izin çalışıyorum.

Ben bu hatayı alıyorum:

Ayrıştırma hatası: hat 16 üzerinde sözdizimi hatası, beklenmedik '{' in / home / content / c / e / l / celebrything / html / wp-content / themes / celebrything / sidebar.php

Burada sorunu düzeltme herhangi bir yardım şaşırtıcı olurdu. İşte kod:

<div id="sidebar">

<div class="post">
<h2>

<font color="#333333">Most Popular Celebrities</font><br>
<font color="#333333">in last 24 hours</font>
<br>
<br>

<a href="page.php?table=today">Today</a>
<a href="page.php?table=week">Week</a>
<a href="page.php?table=month">Month</a>

<?php
if (!in_array($table, array('today', 'week', 'month')) {
  return false;
}

global $wpdb;
$result = $wpdb->get_results('SELECT name, count FROM wp_celebcount_' . $table);
foreach($result as $row) {
echo '<a href="http://www.celebrything.com/?s=' .
    urlencode($row->name) . '&search=Search">' . $row->name .
    '</a> - ' . $row->count . ' Posts<br/>';
}
}

?>

showTable($_GET['table']);


</h2>
</div>

</div>

<div class="clear"></div>

UPDATED CODE ----------------

<div id="sidebar">

<div class="post">
<h2>

<font color="#333333">Most Popular Celebrities</font><br>
<font color="#333333">in last 24 hours</font>
<br>
<br>

<a href="page.php?table=today">Today</a>
<a href="page.php?table=week">Week</a>
<a href="page.php?table=month">Month</a>

<?php
if (!in_array($table, array('today', 'week', 'month'))) {
  return false;
}

global $wpdb;
$result = $wpdb->get_results('SELECT name, count FROM wp_celebcount_' . $table);
foreach($result as $row) {
echo '<a href="http://www.celebrything.com/?s=' .
    urlencode($row->name) . '&search=Search">' . $row->name .
    '</a> - ' . $row->count . ' Posts<br/>';
}



if (!empty($_GET['table'])) {
showTable($_GET['table']);

} else { showTable('today'); }

?>




</h2>
</div>

</div>

<div class="clear"></div>

2 Cevap

1. yok a) birinci if blokta

if (!in_array($table, array('today', 'week', 'month'))) {
  return false;
}

2. fazladan } sağ kapatmadan önce ?> var

}
}

?>

3. Sen kapatmadan önce showTable işlevini koymak gerekir ?> gibi:

showTable($_GET['table']);
?>

In Summary:

Sözdizimi vurgulamasını destekler bir kod editörü alın. Bunu seveceksiniz.

(Eğer kod örneği dışında bir şey bırakarak sürece) ama işlev içinde mantık kurmak değil - ShowTable () - Eğer bir işleve başvuran konum gibi görünüyor bana. Olmalıdır:

<?
//----------------------
//Create the showTable() function, which won't do anything until it's called. It can
//reside anywhere on the page, really. It's here just because this is where I put it.

function showTable($table) {
   if (!in_array($table, array('today', 'week', 'month'))) {  
      return false;
   }

   global $wpdb;
   $result = $wpdb->get_results('SELECT name, count FROM wp_celebcount_' . $table);
   foreach($result as $row) {
      echo('<a href="http://www.celebrything.com/?s='.urlencode($row->name) . '&search=Search">'.$row->name.'</a> - '.$row->count.' Posts<br/>');
   }
}

//----------------------
//Here is where you actually call the function, to display some stuff on the page

if (!empty($_GET['table'])) {
   showTable($_GET['table']);
} else { 
   showTable('today');
}
?>

Yukarıdaki kodu (ben çok iyi Wordpress bilmiyorum) Wordpress yerleşik doğru / çalışma fonksiyonlarını kullandığınızı varsayar. Ancak yukarıda sözdizimi Ben ana sorun olduğunu düşünüyorum herhangi bir işlev sözdizimi ile ilgili sorunları, temizlemek gerekir.